Dieser Podcast ist eine initiative der Development Community des DOAG e.V.

Philipp Salvisberg - PL/SQL Cop, utPLSQL - Grisselbav oder Gryffindor?

Shownotes

Philipp Salvisberg, ein bekannter Name in der Oracle-Community, teilt seine faszinierende Reise von Trivadis zur Selbstständigkeit mit uns. Seine beeindruckenden Beiträge, besonders die SQL Developer Extensions wie CodeCop und Unwrapper, sind aus der Praxis heraus entstanden und haben sich in der Entwicklergemeinschaft als unverzichtbare Werkzeuge etabliert. Philipp erzählt uns von den Herausforderungen und Erfolgen bei der Entwicklung dieser Tools.

Das Thema Open Source wird mit den Trivadis SQL Guidelines vertieft, die von Roger Troller ins Leben gerufen und später auf GitHub veröffentlicht wurden. Die Übernahme durch Accenture und die Entscheidung, das kommerzielle Produkt nicht weiter zu pflegen, werfen interessante Fragen auf. Wir diskutieren die technischen und strategischen Entscheidungen, die den Weg zur Veröffentlichung geprägt haben, und zeigen auf, wie die Richtlinien auch weiterhin der Entwicklergemeinschaft dienen können.

Abgerundet wird die Episode mit einer spannenden Diskussion über die Rolle der KI in der Softwareentwicklung und ihre potenziellen Anwendungen. Philipp teilt seine Gedanken über die Zukunft der KI im Alltag und zieht Parallelen zu früheren Technologien wie der allseits bekannten Büroklammer "Clippy" von Microsoft. Wir blicken optimistisch in die Zukunft und freuen uns auf ein Wiedersehen mit Philipp, vielleicht auf der nächsten Konferenz.

Links von Philipp:

Transkript anzeigen

00:00:13: Kai : Hallo und herzlich willkommen zu einer

00:00:14: Kai : weiteren Folge von Devs on Tape.

00:00:16: Kai : Ja, wir haben deutsche Aufnahmen, englische

00:00:18: Kai : Aufnahmen und heute eine schwitzerdeutsche

00:00:21: Kai : Aufnahme, und zwar von einer Seite, erstmal

00:00:23: Kai : natürlich First Comes, first Serve.

00:00:25: Kai : Hallo, liebe Caro, eine schweizerdeutsche

00:00:26: Kai : aufnahme zu uns von einer seite, erstmal

00:00:28: Kai : natürlich für das kampf hallo, hallo die

00:00:30: Kai : mokaro wir haben heute einen gast hier bei

00:00:32: Kai : uns ich hab's grad schon mal so ein

00:00:33: Kai : bisschen angeteast aus der schweiz.

00:00:36: Kai : Philipp salvesberg ist heute bei uns, hallo

00:00:37: Kai : philipp, jetzt wirklich in Schweizerdeutsch

00:00:42: Kai : Begrüße Sie.

00:00:44: Philipp Salvisberg: Was soll ich meinen Schweizer Hochdeutsch

00:00:48: Philipp Salvisberg: hervorheben Mach dein.

00:00:49: Kai : Traveldeutsch an.

00:00:50: Philipp Salvisberg: Dann können deine Hörer.

00:00:52: Kai : Wir fragen in dieser Folge sowieso

00:00:54: Kai : regelmäßig technische Sachen nach, und

00:00:56: Kai : jetzt machen wir es halt auch einfach, wenn

00:00:57: Kai : wir was nicht verstehen.

00:00:58: Kai : Vielleicht starten wir einfach mal rein

00:01:00: Kai : fühl dich wie zu Hause, lindig, zurück und

00:01:02: Kai : erzähl uns doch mal, oder erzähl unseren

00:01:04: Kai : Hörern doch gerne mal ein bisschen was über

00:01:06: Kai : dich, dass wir wissen, wo wir anfangen.

00:01:08: Philipp Salvisberg: Ja, mein Name ist Philipp Salvisberg.

00:01:10: Philipp Salvisberg: Ich komme aus der Schweiz, aus Winterthur

00:01:12: Philipp Salvisberg: um genau zu sein, und unterwegs bin ich mit

00:01:15: Philipp Salvisberg: Oracle-Themen seit sehr, sehr langer Zeit.

00:01:18: Philipp Salvisberg: Ich war fast 25 Jahre bei Trivadis und bin

00:01:23: Philipp Salvisberg: seit kurzer Zeit jetzt selbstständig.

00:01:25: Philipp Salvisberg: Vielleicht kennt mich der eine oder andere

00:01:27: Philipp Salvisberg: mit SQL Developer Extensions, die verwendet

00:01:30: Philipp Salvisberg: worden sind, oder so.

00:01:31: Philipp Salvisberg: In dem Umfeld bin ich tätig.

00:01:33: Caro: Ja, Ach so, jetzt soll ich direkt

00:01:34: Caro: einsteigen in den SQL.

00:01:36: Kai : Direkt in den Tech Talk.

00:01:37: Caro: Ja, ich will Genau.

00:01:39: Caro: also, du hast ja von den Extensions zum

00:01:41: Caro: Beispiel auch diesen CodeCop geschrieben,

00:01:43: Caro: den dann wahrscheinlich einige kennen für

00:01:45: Caro: den SQL-Developer.

00:01:48: Caro: Und hattest du noch andere Erweiterungen?

00:01:50: Caro: Ja, klar, du hattest noch einige

00:01:52: Caro: Erweiterungen.

00:01:52: Philipp Salvisberg: Ja, ich denke, was wahrscheinlich am

00:01:54: Philipp Salvisberg: meisten verwendet wird, ist der Unwrapper.

00:01:58: Philipp Salvisberg: Also der wird noch häufig verwendet.

00:02:01: Philipp Salvisberg: Dann gibt es noch Tools für Pelscope die

00:02:05: Philipp Salvisberg: eingesetzt werden.

00:02:06: Philipp Salvisberg: Da gibt es eine Extension dazu, diese Dinge.

00:02:09: Philipp Salvisberg: So ein paar Dinge.

00:02:11: Kai : Hast du mit der Entwicklung von diesen

00:02:12: Kai : Tools angefangen, während du bei Trivades

00:02:14: Kai : warst, und hast gesagt, das sind jetzt

00:02:15: Kai : Hilfsmittel für dich, oder ging das auch

00:02:17: Kai : erst damals los, als du von Trivades dich?

00:02:19: Philipp Salvisberg: losgezogen hast.

00:02:20: Philipp Salvisberg: Nein, nein, also das habe ich während der

00:02:22: Philipp Salvisberg: Trivades-Zeit gemacht, also beim Unrapper,

00:02:24: Philipp Salvisberg: das war so.

00:02:24: Philipp Salvisberg: Da war Bankenmigration und die Software,

00:02:27: Philipp Salvisberg: die dort eingesetzt worden ist, die war

00:02:29: Philipp Salvisberg: gerappt, und wir hatten gewisse Dinge, die

00:02:33: Philipp Salvisberg: wir anschauen mussten, als irgendwo

00:02:35: Philipp Salvisberg: gecrashed ist, etc.

00:02:37: Philipp Salvisberg: Bei der Migration, und es gab auch Tools

00:02:39: Philipp Salvisberg: außerhalb der Datenbanken.

00:02:41: Philipp Salvisberg: Jemand hat gesagt, es wäre irgendwie noch

00:02:42: Philipp Salvisberg: cool, wenn man das gleich im SQL Developer

00:02:45: Philipp Salvisberg: machen könnte.

00:02:46: Philipp Salvisberg: Dann habe ich da die erste Version an einem

00:02:48: Philipp Salvisberg: Wochenende released, weil den Code gab es

00:02:53: Philipp Salvisberg: ja schon.

00:02:53: Philipp Salvisberg: Ich musste das eigentlich nur von Python

00:02:55: Philipp Salvisberg: übersetzen in Java, und dann war das

00:02:58: Philipp Salvisberg: relativ easy.

00:03:00: Philipp Salvisberg: Das ist so.

00:03:01: Philipp Salvisberg: Also, die Dinge sind entstanden während der

00:03:03: Philipp Salvisberg: Trivadis-Zeit, und der Cop der ist COP hieß

00:03:08: Philipp Salvisberg: früher mal ein bisschen anders, der ist so

00:03:12: Philipp Salvisberg: entstanden 2010.

00:03:22: Philipp Salvisberg: Ging und dann eine Analyse machte, ein

00:03:23: Philipp Salvisberg: Review machte von einer Applikation anhand

00:03:26: Philipp Salvisberg: von Guidelines, und dann hat man das so

00:03:28: Philipp Salvisberg: semi-automatisiert durchgeführt und dann

00:03:31: Philipp Salvisberg: ein paar Dinge noch genauer angeschaut und

00:03:34: Philipp Salvisberg: dann einen Bericht geschrieben, und das war

00:03:36: Philipp Salvisberg: so ein fixes Paket.

00:03:37: Philipp Salvisberg: Natürlich ging ein bisschen Zeit verloren,

00:03:40: Philipp Salvisberg: und wenn man das dann präsentiert hatte,

00:03:42: Philipp Salvisberg: dann hieß es, das haben wir schon gemacht

00:03:44: Philipp Salvisberg: und so, und eigentlich hast du dann

00:03:45: Philipp Salvisberg: präsentiert hatte, dann hiess es, das haben

00:03:45: Philipp Salvisberg: wir schon gemacht und so, und eigentlich

00:03:46: Philipp Salvisberg: hast du dann das Problem.

00:03:46: Philipp Salvisberg: Jetzt müssen wir es nochmals laufen lassen,

00:03:49: Philipp Salvisberg: und das war echt unpraktisch.

00:03:54: Philipp Salvisberg: Dann hat man gedacht, wäre doch einfacher,

00:03:58: Philipp Salvisberg: da so ein Produkt rauszumachen.

00:03:59: Philipp Salvisberg: Am Ende ist es ein bisschen aufwendiger

00:04:01: Philipp Salvisberg: geworden, als man sich gedacht hatte.

00:04:04: Philipp Salvisberg: Ich denke auch immer, wenn man eigentlich

00:04:06: Philipp Salvisberg: weiss, wie aufwendig etwas ist, dann würde

00:04:09: Philipp Salvisberg: man es wahrscheinlich sein lassen.

00:04:11: Philipp Salvisberg: Teilweise ist es noch gut, wenn man Dinge

00:04:13: Philipp Salvisberg: unterschätzt, und das war sicher eines

00:04:16: Philipp Salvisberg: dieser Themen.

00:04:18: Caro: Genau also, du hattest ja eben auch schon

00:04:21: Caro: erzählt.

00:04:21: Caro: Also da ranken sich dann ja erstmal viele

00:04:23: Caro: Fragen drum.

00:04:40: Philipp Salvisberg: Also erstmal die sind zwar zur Trivadis-Ze

00:04:43: Philipp Salvisberg: Guidelines, und die hat Roger Troller

00:04:46: Philipp Salvisberg: ursprünglich auch unter der Trivadis

00:04:49: Philipp Salvisberg: Verlage geschrieben, weil irgendwie haben

00:04:52: Philipp Salvisberg: wir bei allen Projekten eigentlich dasselbe

00:04:54: Philipp Salvisberg: gemacht, und irgendwann hat er dann das

00:04:55: Philipp Salvisberg: auch released.

00:04:56: Philipp Salvisberg: Ich weiss gar nicht mehr das Jahr, aber das

00:04:58: Philipp Salvisberg: war irgendwie so 2006, 2007 rum hat man so

00:05:03: Philipp Salvisberg: ein kleines A5 Büchlein ausgegeben mit den

00:05:08: Philipp Salvisberg: ersten Guidelines-Versionen, und er war

00:05:10: Philipp Salvisberg: eigentlich der Guru bei uns, der sich um

00:05:12: Philipp Salvisberg: diese Dinge gekümmert hat.

00:05:14: Philipp Salvisberg: Das hat sich dann so ein bisschen weitere

00:05:16: Philipp Salvisberg: Releases gegeben davon, und irgendwann ist

00:05:19: Philipp Salvisberg: er dann auch gegangen von Trivadis weg zu

00:05:23: Philipp Salvisberg: einer anderen Firma ich soll ja den Namen

00:05:26: Philipp Salvisberg: nicht nennen, oder Und dann habe ich das

00:05:30: Philipp Salvisberg: übernommen an die Pflegedaten.

00:05:32: Philipp Salvisberg: Da gab es schon eigentlich das Produkt.

00:05:34: Philipp Salvisberg: Also, wir haben das wirklich verkauft.

00:05:36: Philipp Salvisberg: Und später kam dann auch noch Kimberg

00:05:40: Philipp Salvisberg: Hansen dazu bei uns zu Trivadis via

00:05:42: Philipp Salvisberg: Dänemark, und er hat das dann übernommen.

00:05:45: Philipp Salvisberg: Ich war eigentlich immer froh, dass man das

00:05:47: Philipp Salvisberg: ein bisschen trennen konnte.

00:05:48: Philipp Salvisberg: Jemand anders hat sich um die Rules

00:05:49: Philipp Salvisberg: gekümmert, und ich habe einfach das Ding im

00:05:51: Philipp Salvisberg: Hintergrund dann implementiert, und als Kim

00:05:54: Philipp Salvisberg: dann gegangen war, habe ich das auch wieder

00:05:56: Philipp Salvisberg: übernommen.

00:05:57: Philipp Salvisberg: Und dazwischen, als ich das das erste Mal

00:05:59: Philipp Salvisberg: übernommen habe, habe ich gedacht, es wäre

00:06:01: Philipp Salvisberg: eigentlich noch cool, wenn man diese

00:06:03: Philipp Salvisberg: Guidelines irgendwie Open Source machen

00:06:05: Philipp Salvisberg: könnte Das irgendwie als Word-Dokument war

00:06:08: Philipp Salvisberg: das damals keine Ahnung, wie war das.

00:06:11: Philipp Salvisberg: Eine Weile her war es nicht mehr ganz so

00:06:13: Philipp Salvisberg: zeitgemäss, und dann haben wir das dann

00:06:15: Philipp Salvisberg: auch durchgesprochen, und bei Trivadis ging

00:06:17: Philipp Salvisberg: das irgendwie, sag ich mal, ein bisschen

00:06:18: Philipp Salvisberg: handzündiger, und dann kam das okay, wir

00:06:21: Philipp Salvisberg: machen das Open Source und Free, und dann

00:06:23: Philipp Salvisberg: haben wir das auf GitHub gestellt, sodass

00:06:26: Philipp Salvisberg: wir dann auch eine statische HTML-Seite

00:06:28: Philipp Salvisberg: generiert haben davon, und zwischen Zeitabs

00:06:31: Philipp Salvisberg: ist das noch gut genutzt worden, so wie ich

00:06:34: Philipp Salvisberg: den Eindruck habe, und die Tools selber.

00:06:37: Philipp Salvisberg: Da gab es einfach eine Komponente davon,

00:06:40: Philipp Salvisberg: die Extension für den SQL Developer.

00:06:42: Philipp Salvisberg: Die hat eigentlich nur das geprüft, was man

00:06:46: Philipp Salvisberg: in einem Editor angeschaut hat.

00:06:48: Philipp Salvisberg: Das haben wir gesagt, wer das so brauchen

00:06:51: Philipp Salvisberg: kann, das können wir doch frei machen, ist

00:06:53: Philipp Salvisberg: doch kein Problem.

00:06:54: Philipp Salvisberg: Und für die Kunden, für Enterprises, war

00:06:59: Philipp Salvisberg: dann die Lösung, dass man das irgendwie

00:07:02: Philipp Salvisberg: integriert in eine CI-Umgebung und so

00:07:04: Philipp Salvisberg: weiter, und dann macht es auch Sinn, dass

00:07:06: Philipp Salvisberg: man dafür auch Geld nimmt.

00:07:08: Philipp Salvisberg: Also von dem her dieses Produkt, das bleibt

00:07:12: Philipp Salvisberg: im Besitz von Accenture.

00:07:16: Philipp Salvisberg: Accenture hat ja dann die Trivadi sehr

00:07:18: Philipp Salvisberg: vollständig übernommen, und da gibt es auch

00:07:21: Philipp Salvisberg: keine Möglichkeit, das irgendwie

00:07:22: Philipp Salvisberg: rauszulösen.

00:07:23: Philipp Salvisberg: Aber tatsächlich hat sich Accenture

00:07:24: Philipp Salvisberg: entschieden, dieses Produkt nicht mehr

00:07:26: Philipp Salvisberg: weiter zu pflegen, und hat alle, die das

00:07:31: Philipp Salvisberg: abonniert haben, also die Verträge,

00:07:34: Philipp Salvisberg: gekündigt.

00:07:35: Philipp Salvisberg: Von dem her gibt es dort keine neuen

00:07:37: Philipp Salvisberg: Releases.

00:07:37: Philipp Salvisberg: es gibt noch Support-Verträge, die

00:07:39: Philipp Salvisberg: weiterlaufen, aber das ist weg, und von dem

00:07:43: Philipp Salvisberg: her nehme ich das Ding hier nicht mit.

00:07:44: Philipp Salvisberg: Also, was man mitnehmen kann, dann glaube

00:07:46: Philipp Salvisberg: ich jetzt mal die Guidelines, die sind frei,

00:07:48: Philipp Salvisberg: die kann jeder verwenden, und das ist

00:07:50: Philipp Salvisberg: tatsächlich so, dass ich die in einem

00:07:53: Philipp Salvisberg: Folgeprodukt dann weiterverwenden werde.

00:07:56: Caro: Okay, sehr gut, das wäre nämlich meine

00:07:57: Caro: nächste Frage gewesen.

00:07:59: Kai : Ich würde eine Frage dazwischen mal

00:08:00: Kai : einklemmen, noch Wie hat sich das jetzt so

00:08:04: Kai : auf deine Einstellung ausgewirkt?

00:08:07: Kai : wenn du jetzt ein neues Projekt anfängst,

00:08:09: Kai : wenn du so eine neue Idee hast für

00:08:10: Kai : irgendwas ob es ein Plugin ist, ob es

00:08:11: Kai : irgendein Framework ist, wenn es irgendeine

00:08:14: Kai : Erweiterung für irgendwas ist, dass du den

00:08:16: Kai : Gedanken hälst, machst du es direkt frei,

00:08:17: Kai : machst du es direkt kostenfrei für die

00:08:19: Kai : Community?

00:08:20: Kai : oder ist es etwas, wo du sagst, du musst ja

00:08:22: Kai : natürlich logischerweise auch dein Geld

00:08:24: Kai : verdienen?

00:08:24: Kai : ist ja klar.

00:08:25: Kai : Aber wenn du vor der Entscheidung stehst,

00:08:27: Kai : ein Tool, was Entwickler wirklich

00:08:29: Kai : gebrauchen können, wo du sagst, das macht

00:08:31: Kai : Sinn, starte ich das als

00:08:32: Kai : Open-Source-Projekt für die Community von

00:08:34: Kai : der Community.

00:08:35: Kai : Oder würdest du eher den Weg wählen, wieder

00:08:37: Kai : innerhalb der Firma das zu machen, wo du

00:08:39: Kai : hinterher dir überlegst kann ich es

00:08:50: Kai : mitnehmen?

00:08:51: Philipp Salvisberg: kann ich es rauslösen?

00:08:52: Philipp Salvisberg: Was wird mit dem Produkt passieren?

00:08:54: Philipp Salvisberg: Ja, es ist eine gute Frage.

00:08:55: Philipp Salvisberg: Ich meine, du hast auch Limitationen, was

00:08:57: Philipp Salvisberg: du eigentlich, auch wenn du bei einer Firma

00:08:59: Philipp Salvisberg: angestellt bist, überhaupt nebenbei machen

00:09:00: Philipp Salvisberg: kannst, je nachdem, was du für Verträge

00:09:02: Philipp Salvisberg: hast.

00:09:03: Philipp Salvisberg: Dass du das weiterverwenden kannst, dann

00:09:05: Philipp Salvisberg: ist das meiner Sicht die beste Variante,

00:09:07: Philipp Salvisberg: dass man die Firma, bei der du arbeitest,

00:09:09: Philipp Salvisberg: überzeugt, dass man das Open Source macht.

00:09:11: Philipp Salvisberg: Dann hast du am wenigsten Probleme, und ich

00:09:15: Philipp Salvisberg: denke, es macht Sinn, gewisse Dinge einfach

00:09:18: Philipp Salvisberg: Open Source zu machen, um sie ein bisschen

00:09:21: Philipp Salvisberg: einfacher zugänglich zu machen.

00:09:23: Philipp Salvisberg: Auf der anderen Seite glaube ich auch, dass

00:09:26: Philipp Salvisberg: Software etwas wert ist und man dafür etwas

00:09:29: Philipp Salvisberg: zahlen sollte, wenn man Nachhaltigkeit will.

00:09:33: Philipp Salvisberg: Dann denke ich auch immer, wenn man

00:09:35: Philipp Salvisberg: Open-Source-Projekte anschaut, muss man

00:09:36: Philipp Salvisberg: sagen was ist das Business-Modell dahinter?

00:09:41: Philipp Salvisberg: Wenn ich ein Interesse habe, dass ich ein

00:09:42: Philipp Salvisberg: Softwareprodukt in fünf oder zehn Jahren

00:09:45: Philipp Salvisberg: weiterverwenden kann, dann müsste mich das

00:09:47: Philipp Salvisberg: interessieren Wie funktioniert das?

00:09:51: Philipp Salvisberg: Was ist der Gedanke bei diesem

00:09:53: Philipp Salvisberg: Open-Source-Produkt dahinter oder bei der

00:09:55: Philipp Salvisberg: Komponente, die da eingesetzt wird?

00:09:56: Philipp Salvisberg: Wie verdienen die Geld damit?

00:09:58: Philipp Salvisberg: Machen die das nur zur Freizeit?

00:09:59: Philipp Salvisberg: Und wenn die dann Familie haben und andere

00:10:02: Philipp Salvisberg: Interessen, bleibt es dann einfach liegen.

00:10:04: Philipp Salvisberg: Diese Dinge, denke ich, ist auch wichtig,

00:10:06: Philipp Salvisberg: und von dem her glaube ich, wenn man

00:10:08: Philipp Salvisberg: irgendeinen kommerziellen Aspekt auch mit

00:10:10: Philipp Salvisberg: berücksichtigt und sagt ja, so verdienen

00:10:12: Philipp Salvisberg: wir dann unser Geld und das plausibel ist

00:10:15: Philipp Salvisberg: für die anderen, dann ist es auch

00:10:17: Philipp Salvisberg: nachhaltiger.

00:10:18: Kai : Es ist wahrscheinlich schon echt ein Grund,

00:10:21: Kai : wenn sich eine Firma oder ein Entwickler

00:10:23: Kai : oder wie auch immer dafür entscheidet, eine

00:10:26: Kai : Software einzusetzen, dass die wissen, das

00:10:27: Kai : ist auf jeden Fall die nächsten Jahre

00:10:28: Kai : gecovert, weil es wird von einer Firma

00:10:31: Kai : getragen.

00:10:31: Kai : Das heißt, es hängt nicht an einzelnen

00:10:33: Kai : Personen, wo, wie du schon sagtest, die

00:10:34: Kai : persönlichen Umstände im Leben vielleicht

00:10:36: Kai : dafür sorgen könnten, dass sich die

00:10:38: Kai : Frequenz von solchen Updates und die

00:10:39: Kai : Laufzeit von so einem Projekt irgendwie

00:10:41: Kai : beeinträchtigen lässt.

00:10:42: Kai : Wenn man dann weiß, das kommt von der Firma,

00:10:44: Kai : dann kann man doch eher, glaube ich, davon

00:10:45: Kai : ausgehen, dass es auch weitergetragen wird.

00:10:46: Kai : Aber auf der anderen Seite muss man auch

00:10:48: Kai : sagen, dass, wenn ein Entwickler seine

00:10:50: Kai : Sachen kostenlos und open source zur

00:10:52: Kai : Verfügung steht, ist es ja für alle offen,

00:10:54: Kai : auch dann daran teilzunehmen und zu helfen.

00:10:57: Kai : Also, sowas kann sich auch ohne

00:10:58: Kai : Businessmodell dahinter tragen, weil

00:11:01: Kai : Entwickler helfen Entwicklern, weil

00:11:02: Kai : Entwickler helfen Entwicklern.

00:11:04: Kai : Das ist ja auch mal nochmal so ein Aspekt.

00:11:05: Kai : Einer sagt, ich habe mir jetzt hier was

00:11:06: Kai : geschrieben, was mir geholfen hat, um ein

00:11:08: Kai : Problem zu lösen.

00:11:09: Kai : Das teile ich jetzt mit anderen, und andere

00:11:11: Kai : sind dafür dankbar, übernehmen das und

00:11:12: Kai : denken diesen Gedanken vielleicht weiter.

00:11:15: Kai : Das heißt, ich kontribute meine Sachen

00:11:16: Kai : jetzt auch kostenfrei, oder ich finde das

00:11:20: Kai : Framework so cool, und weil es Open Source

00:11:21: Kai : ist, trage ich persönlich dazu jetzt bei,

00:11:22: Kai : damit es noch besser wird und damit es

00:11:23: Kai : länger läuft.

00:11:24: Kai : Also, ich glaube, das ist so ein bisschen

00:11:25: Kai : dieser Kuhhandel, den man dann machen muss.

00:11:26: Kai : Man muss dann sagen, ich setze jetzt auf

00:11:28: Kai : Open Source, weil es ist frei, es ist von

00:11:30: Kai : jemandem dazu gesteuert, ich spare mein

00:11:31: Kai : Geld vielleicht, habe aber dann vielleicht

00:11:33: Kai : nicht die Sicherheit von einem

00:11:35: Kai : Support-Vertrag, und dass es auch

00:11:36: Kai : weiterentwickelt wird.

00:11:37: Kai : Ich glaube, da muss man so, du würdest es

00:11:39: Kai : halt je nach Kontext, würdest du sagen, du

00:11:41: Kai : würdest es im Rahmen einer Company wieder

00:11:44: Kai : angehen, so ein Projekt.

00:11:51: Philipp Salvisberg: Ja, also jetzt sowieso.

00:11:52: Philipp Salvisberg: Wenn ich jetzt eine eigene Company habe,

00:11:53: Philipp Salvisberg: habe ich total kein Problem, das so

00:11:54: Philipp Salvisberg: anzugehen Im Rahmen eines Produktes, also

00:11:55: Philipp Salvisberg: da nicht alles Open Source zu machen.

00:11:56: Philipp Salvisberg: Also ich denke, es ist eine gute Variante,

00:11:58: Philipp Salvisberg: nicht alles Open Source zu machen.

00:12:02: Philipp Salvisberg: Und was ich noch sagen wollte zu deinem

00:12:04: Philipp Salvisberg: Punkt, was ich gemerkt habe bei Dingen wenn

00:12:07: Philipp Salvisberg: du ein Open Source Projekt hast, kriegst du

00:12:09: Philipp Salvisberg: auch schnell Feedback von Leuten, die sagen,

00:12:12: Philipp Salvisberg: ja, das würde ich gerne so machen, oder

00:12:14: Philipp Salvisberg: kriegst ein Pull Request, das so zu ändern.

00:12:16: Philipp Salvisberg: Auf der anderen Seite musst du irgendwie

00:12:18: Philipp Salvisberg: auch sagen ja, das passt vielleicht nicht

00:12:20: Philipp Salvisberg: ganz so, wie du es haben willst, und dann

00:12:22: Philipp Salvisberg: musst du das ausdiskutieren.

00:12:24: Philipp Salvisberg: Du musst auch die Energie aufwenden, um das

00:12:27: Philipp Salvisberg: ausdiskutieren zu können, und da ist

00:12:30: Philipp Salvisberg: teilweise auch die Bereitschaft, das

00:12:32: Philipp Salvisberg: ausdiskutieren zu wollen, nicht überall

00:12:35: Philipp Salvisberg: gleich hoch, und das macht es schon ein

00:12:37: Philipp Salvisberg: bisschen anstrengend, weil auf der anderen

00:12:39: Philipp Salvisberg: Seite, wenn du zu large bist und sagst, ja,

00:12:41: Philipp Salvisberg: dann akzeptiere ich diesen Pull-Request,

00:12:44: Philipp Salvisberg: weil ich will ja irgendwie lieb sein.

00:12:46: Philipp Salvisberg: Ich bin das nicht, aber es gibt andere, die

00:12:48: Philipp Salvisberg: sind dann lieb, und dann haben sie das an

00:12:50: Philipp Salvisberg: der Backe oder Also du musst das mitwarten

00:12:53: Philipp Salvisberg: und umzuhalten, und so fort.

00:12:54: Philipp Salvisberg: Also von dem her, es ist auch da wieder

00:12:57: Philipp Salvisberg: viel mehr Aufwand, als man tatsächlich

00:12:59: Philipp Salvisberg: denkt.

00:12:59: Philipp Salvisberg: Und ich denke aus der anderen Sicht von

00:13:01: Philipp Salvisberg: jemandem, der Und ich denke aus der anderen

00:13:02: Philipp Salvisberg: Sicht von jemandem, der Open Source braucht,

00:13:04: Philipp Salvisberg: also sagt, ja, wenn das nicht so wichtig

00:13:05: Philipp Salvisberg: ist, ob es jetzt kommerzielle Aspekte sind,

00:13:08: Philipp Salvisberg: dass das kommerziell noch weitergetrieben

00:13:10: Philipp Salvisberg: wird, wenn du bereit bist, diesen Code, den

00:13:12: Philipp Salvisberg: du dort siehst, auf einem Zeitpunkt X

00:13:15: Philipp Salvisberg: vollständig selber zu übernehmen und zu

00:13:17: Philipp Salvisberg: warten, ist okay.

00:13:19: Philipp Salvisberg: Also dann glaube ich, ist wirklich kein

00:13:21: Philipp Salvisberg: Problem.

00:13:21: Philipp Salvisberg: Aber wenn du sagst, nein, eigentlich will

00:13:24: Philipp Salvisberg: ich jetzt diese Datenbank XY oder dieser

00:13:27: Philipp Salvisberg: Treiber XY, bin ich froh, wenn der geht,

00:13:29: Philipp Salvisberg: aber ich will never ever das Ding selber

00:13:32: Philipp Salvisberg: warten, dann hast du ein Problem.

00:13:35: Philipp Salvisberg: Also ich denke, es kommt ein bisschen davon.

00:13:39: Caro: Und wirst du also ich weiss nicht, ob du

00:13:41: Caro: schon davon erzählen magst, aber wirst du

00:13:43: Caro: so etwas wie den CodeCop 2, Philipp Edition?

00:13:48: Philipp Salvisberg: Ja, es gibt keine Philipp Edition davon.

00:13:50: Philipp Salvisberg: Also das Produkt wird Debelinter heissen

00:13:53: Philipp Salvisberg: und meine Firma ja.

00:13:55: Philipp Salvisberg: Ich habe jetzt das Schild ja nicht hier,

00:13:56: Philipp Salvisberg: aber meine Firma heisst ja Griselboff und

00:13:59: Philipp Salvisberg: kennt keine Sau.

00:14:01: Philipp Salvisberg: Das wäre meine nächste Frage gewesen wo das

00:14:04: Philipp Salvisberg: herkommt, kennt ja keine Sau.

00:14:06: Philipp Salvisberg: Es ist ein Anagramm von Salvisberg, und vor

00:14:11: Philipp Salvisberg: xx Jahren haben wir da mal rumgekaspert,

00:14:15: Philipp Salvisberg: meine Frau und ich, und haben dann die

00:14:17: Philipp Salvisberg: Domäne reserviert.

00:14:18: Philipp Salvisberg: Das war die Zeit, als die ersten Harry

00:14:20: Philipp Salvisberg: Potter Bücher draussen waren, und haben

00:14:22: Philipp Salvisberg: gedacht, dieses Anagramm klingt doch ein

00:14:25: Philipp Salvisberg: bisschen ähnlich wie ein Haus in Harry

00:14:29: Philipp Salvisberg: Potter.

00:14:30: Philipp Salvisberg: In Hogwarts oder Wir sind da in Griselbuff,

00:14:36: Philipp Salvisberg: das ist unser Haus, das Haus das nicht open

00:14:39: Philipp Salvisberg: source.

00:14:42: Philipp Salvisberg: Das stimmt so nicht ganz.

00:14:44: Philipp Salvisberg: Um auf deine Frage zurückzukommen ja, da

00:14:46: Philipp Salvisberg: wird es sowas geben, Und es ist ein Mix von

00:14:50: Philipp Salvisberg: Open Source und kommerziellem Tun.

00:14:53: Philipp Salvisberg: Ich weiss nicht.

00:14:54: Philipp Salvisberg: Seit längerer Zeit bin ich dran, einen Open

00:14:56: Philipp Salvisberg: Source Parser zu schreiben, der Oracle

00:15:00: Philipp Salvisberg: Syntax und Postgres Syntax kann.

00:15:03: Philipp Salvisberg: So eine Kombination gibt es eigentlich

00:15:05: Philipp Salvisberg: nicht wirklich Open Source, Und Das Ding

00:15:09: Philipp Salvisberg: ist Open Source.

00:15:10: Philipp Salvisberg: Ja also da Schon geil oder Schon geil, aber

00:15:15: Philipp Salvisberg: was ich auch so ein bisschen geklaut habe

00:15:18: Philipp Salvisberg: von anderen.

00:15:19: Philipp Salvisberg: ich will mich ja ein bisschen schützen,

00:15:20: Philipp Salvisberg: dass irgendwie nicht jemand anderes kommt

00:15:22: Philipp Salvisberg: und sagt ja, da mache ich einfach einen

00:15:24: Philipp Salvisberg: Fork draus und gut ist, und wie schützt man

00:15:27: Philipp Salvisberg: sich da davor?

00:15:28: Philipp Salvisberg: Also, es gibt wahrscheinlich x Varianten.

00:15:30: Philipp Salvisberg: aber eine Variante ist zu sagen ja, die

00:15:32: Philipp Salvisberg: Tests, die ich dafür geschrieben habe, die

00:15:34: Philipp Salvisberg: sind nicht Open Source.

00:15:35: Philipp Salvisberg: Und die sind wirklich ein Vielfaches davon.

00:15:39: Philipp Salvisberg: Also, das ist also ja also 50 mal mehr Code,

00:15:43: Philipp Salvisberg: also wirklich viel, viel mehr.

00:15:49: Philipp Salvisberg: Und von dem her das ist die Komponente, die

00:15:50: Philipp Salvisberg: Open Source ist, und die anderen Komponente,

00:15:51: Philipp Salvisberg: da gibt es so, was das das macht, was der

00:15:53: Philipp Salvisberg: Code macht, und viel, viel mehr.

00:15:56: Philipp Salvisberg: Ich habe gesagt, kein Mensch kennt

00:15:58: Philipp Salvisberg: Griselbuff oder, Und da gab es auch noch

00:16:01: Philipp Salvisberg: Apex Connect.

00:16:01: Philipp Salvisberg: Da hatte ich dann Kontakt mit Dimitri, und

00:16:04: Philipp Salvisberg: wir haben ein bisschen geschwatzt und so,

00:16:06: Philipp Salvisberg: Und am Ende haben wir uns jetzt auch

00:16:08: Philipp Salvisberg: geeinigt auf eine Kooperation.

00:16:12: Philipp Salvisberg: Das heisst United Codes wird das Ding

00:16:14: Philipp Salvisberg: vertreiben.

00:16:15: Philipp Salvisberg: United Codes hat schon Namen im Markt.

00:16:18: Philipp Salvisberg: Da muss man nicht erklären, dass sie

00:16:21: Philipp Salvisberg: Software liefern können und Support machen

00:16:24: Philipp Salvisberg: für das etc.

00:16:25: Philipp Salvisberg: Und dann habe ich das Problem ab der Backe.

00:16:27: Philipp Salvisberg: Ich kann mich dann mehr um die Entwicklung

00:16:30: Philipp Salvisberg: kümmern, die Dinge, die mir dann wirklich

00:16:32: Philipp Salvisberg: Spass machen.

00:16:33: Philipp Salvisberg: Ich denke, das hat wirklich Potenzial, eine

00:16:36: Philipp Salvisberg: sehr, sehr gute Partnerschaft zu werden.

00:16:38: Philipp Salvisberg: Also ich habe ein gutes Gefühl, und Dimitri

00:16:40: Philipp Salvisberg: ist ein guter Typ.

00:16:42: Philipp Salvisberg: Es gibt so Leute, die kannst du in die

00:16:43: Philipp Salvisberg: Augen schauen und sagst ja, denen vertraue

00:16:46: Philipp Salvisberg: ich.

00:16:46: Philipp Salvisberg: Dann gibt es andere, und Dimitri gehört

00:16:49: Philipp Salvisberg: definitiv in die erste Gruppe, und von dem

00:16:51: Philipp Salvisberg: her freue ich mich drauf.

00:16:52: Philipp Salvisberg: Da wird es eine Komponente geben für Visual

00:16:56: Philipp Salvisberg: Studio Code, da wird es ein Celi geben, da

00:16:58: Philipp Salvisberg: wird es ein SonarQ plugin geben und so

00:17:01: Philipp Salvisberg: weiter und so fort.

00:17:02: Philipp Salvisberg: Da kommen dann schon noch Infos, wenn da

00:17:05: Philipp Salvisberg: was rum ist.

00:17:06: Philipp Salvisberg: Das, was ich jetzt habe, sind alles

00:17:08: Philipp Salvisberg: halbfertig Fabrikate, aber es kommt gut.

00:17:11: Caro: Okay, cool.

00:17:14: Kai : Ist es angebracht, nach einem ETA zu fragen?

00:17:16: Philipp Salvisberg: ETA, ja, das kommt dann in Häppchen, oder

00:17:21: Philipp Salvisberg: Also ich habe.

00:17:22: Philipp Salvisberg: Wenn ich da gesprochen habe, habe ich

00:17:24: Philipp Salvisberg: gesagt, ja, mein Ziel ist, irgendwie für

00:17:25: Philipp Salvisberg: die Apex Connect einen Vortrag zu machen,

00:17:27: Philipp Salvisberg: wo ich irgendwie auch was zeigen kann dazu

00:17:30: Philipp Salvisberg: Also irgendwie.

00:17:31: Philipp Salvisberg: Ich habe mal einen Vortrag gemacht als

00:17:32: Philipp Salvisberg: Fighting Bad, plc-qual, irgendwas in dieser

00:17:35: Philipp Salvisberg: Art Oder irgendwie.

00:17:37: Philipp Salvisberg: Trivadis Guidelines sind tot, was jetzt

00:17:40: Philipp Salvisberg: Irgendwas in dieser Art, irgendwie so

00:17:42: Philipp Salvisberg: Vorträge, wo ich auch Demos machen kann Und

00:17:46: Philipp Salvisberg: dann sicher eine erste Version präsentieren

00:17:49: Philipp Salvisberg: kann in grösserer Ordnung um die Apex

00:17:52: Philipp Salvisberg: Connect.

00:17:52: Philipp Salvisberg: Was viel Arbeit gibt, sind auch die

00:17:54: Philipp Salvisberg: Umsetzungen von den Guidelines, also die

00:17:58: Philipp Salvisberg: Regeln zu implementieren.

00:18:00: Philipp Salvisberg: Da habe ich auch ein bisschen Backlog von

00:18:02: Philipp Salvisberg: Dingen, die ich jetzt nicht so gut fand

00:18:04: Philipp Salvisberg: beim Cop, die also wirklich schlimm sind,

00:18:08: Philipp Salvisberg: alle diese Dinge, die Falsch-Positives

00:18:11: Philipp Salvisberg: produzieren.

00:18:12: Philipp Salvisberg: Das ist wirklich ein Pain.

00:18:12: Philipp Salvisberg: Und dann gibt es ein paar Dinge die.

00:18:13: Philipp Salvisberg: Falsch-Positivs produzieren.

00:18:13: Philipp Salvisberg: Das ist wirklich ein Pain.

00:18:14: Philipp Salvisberg: Und dann gibt es ein paar Dinge, die ich

00:18:15: Philipp Salvisberg: ein bisschen besser machen möchte, und die

00:18:18: Philipp Salvisberg: Priorität wird dann sein.

00:18:19: Philipp Salvisberg: Von den Guidelines, wo ich überzeugt bin,

00:18:21: Philipp Salvisberg: die machen Sinn.

00:18:23: Philipp Salvisberg: Da hat jeder so seine Präferenzen und denkt

00:18:25: Philipp Salvisberg: meine Güte, was soll der Mist, oder.

00:18:28: Philipp Salvisberg: Und andere machen wirklich Sinn, dass du

00:18:30: Philipp Salvisberg: wirklich die Bandbreite und das ein

00:18:32: Philipp Salvisberg: bisschen zu priorisieren, Gibt es auch

00:18:34: Philipp Salvisberg: schon Kunden, die Interesse haben, da

00:18:37: Philipp Salvisberg: aufzuspringen, Und da werden wir dort ein

00:18:40: Philipp Salvisberg: bisschen abfragen was sind denn ihre

00:18:42: Philipp Salvisberg: Lieblingsrichtlinien, die sie zuerst haben

00:18:44: Philipp Salvisberg: möchten?

00:18:47: Philipp Salvisberg: Also, es wird zu Phasen kommen, aber viel

00:18:50: Philipp Salvisberg: im nächsten Jahr, also ab irgendwann kann

00:18:52: Philipp Salvisberg: man damit rechnen.

00:18:54: Kai : Also, wenn du jetzt über Regel

00:18:56: Kai : implementieren sprichst, ist das, ohne

00:18:58: Kai : jetzt zu technisch zu werden, aber hast du

00:19:00: Kai : das als Art speziellen Markup dann

00:19:03: Kai : aufgebaut, dass du diese Regeln jetzt nicht

00:19:04: Kai : wirklich in Code umschreiben musst, damit

00:19:07: Kai : die dann abgefragt werden?

00:19:08: Kai : Oder hast du da irgendwas vielleicht sogar

00:19:10: Kai : mit AI entwickelt, dass man wirklich in

00:19:14: Kai : verständlicher Sprache das formulieren kann,

00:19:16: Kai : worauf es ankommt, wie die Regel aussieht,

00:19:18: Kai : oder dieser Guideline-Eintrag, dass das

00:19:20: Kai : automatisch von der Maschine so umgesetzt

00:19:22: Kai : wird, dass danach gesucht wird?

00:19:23: Kai : Oder ist das wirklich knallharte

00:19:24: Kai : Implementation, dass du sagst, pro

00:19:26: Kai : Guideline-Punkt 100 Zeilen Code?

00:19:29: Philipp Salvisberg: Ja.

00:19:30: Philipp Salvisberg: Also das ist knallharte Implementation,

00:19:38: Philipp Salvisberg: also wirklich rule-based.

00:19:38: Philipp Salvisberg: Keine AI jetzt noch.

00:19:39: Philipp Salvisberg: Also im Prinzip ist eigentlich das Ziel so

00:19:40: Philipp Salvisberg: ein bisschen was Ähnliches zu machen, was

00:19:42: Philipp Salvisberg: man vorher hatte, und das ist zwar

00:19:44: Philipp Salvisberg: rule-based.

00:19:45: Philipp Salvisberg: Ich denke, es gibt für die Rule-Check

00:19:48: Philipp Salvisberg: selber sehe ich im Moment nicht so ein

00:19:50: Philipp Salvisberg: riesen Potenzial, das mit AI zu machen.

00:19:52: Philipp Salvisberg: Was ich eher im Potenzial sehe, ist so

00:19:54: Philipp Salvisberg: Fixing.

00:19:55: Philipp Salvisberg: Also, wenn du sagst, ja, jetzt hast du eine

00:19:57: Philipp Salvisberg: Guideline, die sagt, das und das sollte

00:19:59: Philipp Salvisberg: sein, und was eigentlich Code gefunden ist,

00:20:02: Philipp Salvisberg: ist nicht so, oder Dann kannst du sagen, ja,

00:20:05: Philipp Salvisberg: du AI, das ist dann ein Code, und das ist

00:20:08: Philipp Salvisberg: da ein bisschen das Finding.

00:20:10: Philipp Salvisberg: Was würdest du daraus machen, da ein

00:20:14: Philipp Salvisberg: bisschen das Finding, was würdest du daraus

00:20:15: Philipp Salvisberg: machen?

00:20:15: Philipp Salvisberg: Und da können sie echt schon noch ein

00:20:15: Philipp Salvisberg: Potenzial in diesem Bereich dann AI

00:20:16: Philipp Salvisberg: einzusetzen.

00:20:17: Philipp Salvisberg: Das ist auch das, was kommt mit dem neuen

00:20:19: Philipp Salvisberg: Produkt, dass ein zusätzliches Feature was

00:20:22: Philipp Salvisberg: mich schon immer genervt hat, dass wir das

00:20:23: Philipp Salvisberg: nicht hatten Quick Fix ist.

00:20:26: Philipp Salvisberg: Also, wenn ich irgendwie Dinge habe, wo ich

00:20:28: Philipp Salvisberg: sage, ja, aber dass irgendwie eine

00:20:30: Philipp Salvisberg: Guideline sagt, das ist ein kleines Ding,

00:20:39: Philipp Salvisberg: dass du sagst, hinten durch soll ein End

00:20:41: Philipp Salvisberg: von einem Procedure Name, soll auch den

00:20:43: Philipp Salvisberg: Procedure Name beinhalten, oder wenn du

00:20:44: Philipp Salvisberg: anstatt n-file-qls einsetzen sollst, dann

00:20:45: Philipp Salvisberg: kannst du sagen, das kannst du ja easy

00:20:45: Philipp Salvisberg: ersetzen.

00:20:46: Philipp Salvisberg: Das ist ja kein Ding, das ist total einfach.

00:20:56: Philipp Salvisberg: Andere Dinge wie Ansysyntax, also Oracle

00:20:57: Philipp Salvisberg: Join Syntax in Ansysyntax umzuwandeln, ist

00:20:58: Philipp Salvisberg: ein bisschen aufwendig, aber geht auch als

00:20:59: Philipp Salvisberg: Quick-Fix grundsätzlich, und dann hat man

00:21:01: Philipp Salvisberg: so die Baumbreite.

00:21:02: Philipp Salvisberg: Ich sage mal, mindestens die einfachen

00:21:04: Philipp Salvisberg: Dinge kommen dann mal zuerst, und dann gibt

00:21:06: Philipp Salvisberg: es Rule-Based, und in diesem Bereich habe

00:21:08: Philipp Salvisberg: ich schon das Gefühl, dass bei weiteren

00:21:11: Philipp Salvisberg: künftigen Releases dann irgendwann mal so

00:21:15: Philipp Salvisberg: eine AI-Komponente reinkommt, und am

00:21:18: Philipp Salvisberg: ehesten sehe ich sie derzeit im Bereich

00:21:20: Philipp Salvisberg: Quick-Fixing, weil dann schaust du dir das

00:21:23: Philipp Salvisberg: an, und da kommt ja, in den ganzen Modellen

00:21:26: Philipp Salvisberg: gibt es ganz spezifische Modelle, die das

00:21:28: Philipp Salvisberg: vielleicht ein bisschen besser können, und

00:21:30: Philipp Salvisberg: dann kannst du die genau abgreifen und die

00:21:33: Philipp Salvisberg: für das einsetzen.

00:21:35: Philipp Salvisberg: Also da arbeitet eigentlich die Zeit für

00:21:38: Philipp Salvisberg: dieses Feature.

00:21:39: Kai : Das ist die Frage, die ich mir nämlich

00:21:40: Kai : gestellt habe, weil in meinem Kopf ich

00:21:41: Kai : meine, da entstehen, wenn ich solche Sachen

00:21:43: Kai : höre, immer ganz viele Ideen, gerade zur

00:21:45: Kai : aktuellen Zeit, wo sich alles um AI dreht

00:21:47: Kai : und KIs.

00:21:48: Kai : Jetzt habe ich mir gedacht, wenn ich jetzt

00:21:50: Kai : rule-based arbeite, wenn ich

00:21:52: Kai : Guideline-Einträge sage, ich möchte prüfen,

00:21:54: Kai : dass, wie du jetzt gerade eben sagtest,

00:21:56: Kai : funktionsnamen am Ende oder ist es bestimmt

00:21:58: Kai : formatiert, oder ist es lowercase,

00:22:00: Kai : uppercase oder nvl und coalesce dass man

00:22:03: Kai : solche Sachen ja auch eigentlich in

00:22:05: Kai : Textform formulieren kann, dass in keinem

00:22:09: Kai : oder keines meiner Pakete sollte noch NVL

00:22:12: Kai : einsetzen, sondern stattdessen das Und dass

00:22:15: Kai : das automatisch konvertiert wird mit dem

00:22:17: Kai : Wissen von den Implementationen, die du für

00:22:19: Kai : die Regeln schon gemacht hast, dass dieser

00:22:21: Kai : Text übersetzt wird in eine Implementation,

00:22:23: Kai : die dem entspricht, dass es in dem Produkt

00:22:25: Kai : Platz finden kann, sodass jeder vielleicht

00:22:27: Kai : in der Lage wäre.

00:22:29: Kai : Jetzt gebe ich schon Input fürs Produkt,

00:22:31: Kai : aber macht ja Sinn, dass man sagt ich habe

00:22:32: Kai : meine eigenen Regeln, auf die ich prüfen

00:22:34: Kai : möchte, ich habe meine eigenen Vorgaben,

00:22:37: Kai : und ich möchte jetzt aber nicht die

00:22:38: Kai : Implementation ändern, darf ich nicht, kann

00:22:40: Kai : ich nicht, will ich nicht.

00:22:41: Kai : Aber ich könnte meine eigenen Regeln in

00:22:43: Kai : Textform aufschreiben, dem Tool geben, und

00:22:45: Kai : das Tool macht daraus was.

00:22:47: Philipp Salvisberg: Ja, also ich denke, das hat viel Potenzial,

00:22:50: Philipp Salvisberg: habe ich mir wirklich in diesem Bereich

00:22:51: Philipp Salvisberg: noch gar nicht überlegt.

00:22:53: Philipp Salvisberg: Aber was schon anders sein wird in dem

00:22:55: Philipp Salvisberg: neuen Produkt, also die Regeln, die sind

00:22:59: Philipp Salvisberg: komplett gespeichert in einem

00:23:02: Philipp Salvisberg: ausmodellierten Modell.

00:23:03: Philipp Salvisberg: Das hat Größenordnung, 50 Tabellen dahinter,

00:23:06: Philipp Salvisberg: aber sieht oberflächenmässig relativ

00:23:09: Philipp Salvisberg: einfach aus.

00:23:10: Philipp Salvisberg: Das ist eine textuelle Beschreibung der

00:23:12: Philipp Salvisberg: Regel.

00:23:13: Philipp Salvisberg: Aber du hast auch Examples drin, wo du

00:23:15: Philipp Salvisberg: sagst, das ist nicht gut, und das ist gut

00:23:18: Philipp Salvisberg: Bei dem, was nicht gut ist.

00:23:20: Philipp Salvisberg: Genau in dieser Zeile, an dieser Position,

00:23:23: Philipp Salvisberg: von dieser Position ist eigentlich dieser

00:23:26: Philipp Salvisberg: Text, der sagt, das ist nicht gut aus jenem

00:23:29: Philipp Salvisberg: Grund.

00:23:30: Philipp Salvisberg: Und dann hast du auf der gefixten Seite, wo

00:23:34: Philipp Salvisberg: es korrigiert ist, und du siehst auch

00:23:36: Philipp Salvisberg: kannst du dir vorstellen, wie ist schon

00:23:37: Philipp Salvisberg: Studio Code-Tiff, wo jetzt genau die

00:23:39: Philipp Salvisberg: Änderung ist und warum?

00:23:40: Philipp Salvisberg: Also das ist so das Modell, das das dort

00:23:43: Philipp Salvisberg: abbildet, und gleichzeitig ist das dann

00:23:46: Philipp Salvisberg: auch.

00:23:47: Philipp Salvisberg: Sind das auch Test-Cases für den Validator

00:23:50: Philipp Salvisberg: in diesem Fall selbst?

00:23:50: Philipp Salvisberg: Du sagst Fall selbst Wenn ich diese Regel

00:23:52: Philipp Salvisberg: implementiere und diesen falschen oder

00:23:56: Philipp Salvisberg: nicht-compliant Code, der nicht-compliant

00:23:59: Philipp Salvisberg: Code als Input erhalte, dann müsste er

00:24:02: Philipp Salvisberg: genau diese Stellen hier rausbringen.

00:24:05: Philipp Salvisberg: Der Input ist quasi für die Test Cases

00:24:08: Philipp Salvisberg: selbst, aber die Implementation selbst, das

00:24:12: Philipp Salvisberg: ist noch ein anderes Ding.

00:24:12: Philipp Salvisberg: Bei der Implementation selbst, das ist noch

00:24:13: Philipp Salvisberg: ein anderes Ding.

00:24:14: Philipp Salvisberg: Also bei der Implementation selbst muss ich

00:24:15: Philipp Salvisberg: mir überlegen, was ist eigentlich ein gutes

00:24:17: Philipp Salvisberg: Interface dafür, dass ich sage was hat so

00:24:20: Philipp Salvisberg: ein Check als Input?

00:24:22: Philipp Salvisberg: wie soll das gemacht werden?

00:24:24: Philipp Salvisberg: Und in der ersten Version wird es noch

00:24:26: Philipp Salvisberg: nicht möglich sein, dass man Custom Rules

00:24:28: Philipp Salvisberg: hat, aber in der nächsten Version weil es

00:24:31: Philipp Salvisberg: gibt heute schon für den Cop Leute, die

00:24:35: Philipp Salvisberg: eigene Regeln implementieren, also in Java

00:24:38: Philipp Salvisberg: selbst also alles ein bisschen mega

00:24:40: Philipp Salvisberg: kompliziert, das zu machen.

00:24:42: Philipp Salvisberg: Und diesen Prozess möchten wir ganz klar

00:24:45: Philipp Salvisberg: vereinfachen.

00:24:47: Philipp Salvisberg: Aber inwiefern jetzt da EI eine Rolle

00:24:49: Philipp Salvisberg: spielt, weiss ich noch nicht.

00:24:50: Philipp Salvisberg: Also muss ich noch sehen.

00:24:52: Philipp Salvisberg: Aber ich bin so eher der Typ, ich werde es

00:24:54: Philipp Salvisberg: wahrscheinlich zuerst mal rule-based machen

00:24:57: Philipp Salvisberg: und sage so ist es, und vielleicht gibt es

00:24:59: Philipp Salvisberg: danach noch eine Variante, wie man das ein

00:25:01: Philipp Salvisberg: bisschen cleverer noch macht.

00:25:03: Kai : Einfach eine dritte Spalte in diesen

00:25:05: Kai : Validator noch mit reinpacken, sodass das

00:25:06: Kai : ist die Stelle, die erkannt wurde.

00:25:08: Kai : Das ist das, was wir vorschlagen würden,

00:25:09: Kai : was da hin sollte, und das sagt Chachipiti

00:25:11: Kai : dazu.

00:25:13: Kai : Was würden die noch machen?

00:25:14: Kai : oder was würde das Schwarmwissenden

00:25:17: Kai : vorschlagen, um das Thema anzugehen?

00:25:18: Philipp Salvisberg: Also, ich denke, du hast sehr viel Kontexte,

00:25:21: Philipp Salvisberg: die du da setzen kannst, und glaube ich,

00:25:24: Philipp Salvisberg: wie ich gesagt habe, für die Quickfixes

00:25:26: Philipp Salvisberg: glaube ich, das wird sehr gut funktionieren.

00:25:28: Philipp Salvisberg: Hier weiss ich noch nicht von der

00:25:30: Philipp Salvisberg: Implementation her.

00:25:32: Philipp Salvisberg: Da muss ich ihm sagen, das musst du in Java

00:25:34: Philipp Salvisberg: implementieren, das ist dieses Interface so,

00:25:36: Philipp Salvisberg: und so funktioniert es.

00:25:37: Philipp Salvisberg: Aber ich kann mir schon vorstellen, dass

00:25:40: Philipp Salvisberg: das geht, also dass man sagt hey, ich

00:25:42: Philipp Salvisberg: könnte dich so ähnlich, wie es jetzt auch

00:25:44: Philipp Salvisberg: an der Konferenz gezeigt wurde, wie man SQL

00:25:49: Philipp Salvisberg: formuliert in Sprachen, und dann hat man

00:25:51: Philipp Salvisberg: das Statement, und dann pastest du es in

00:25:53: Philipp Salvisberg: der Apex-Applikation rein, oder Das ist

00:25:55: Philipp Salvisberg: noch nicht wahnsinnig sophisticated, aber

00:25:57: Philipp Salvisberg: wenn du keine SQL kannst oder das Ding

00:26:00: Philipp Salvisberg: nicht machst, hilft dir das enorm, ein

00:26:02: Philipp Salvisberg: bisschen schneller da voranzukommen und so

00:26:04: Philipp Salvisberg: deine eigenen Regeln zu implementieren.

00:26:06: Philipp Salvisberg: Also, ich denke, das ist auch ein grosses

00:26:09: Philipp Salvisberg: Potenzial.

00:26:10: Philipp Salvisberg: Wenn du eine grössere Firma bist, dann hast

00:26:12: Philipp Salvisberg: du auch ganz spezifische Regeln und

00:26:15: Philipp Salvisberg: Produkte, die viel mehr Sinn machen, wo du

00:26:17: Philipp Salvisberg: sagst, wenn ich Exception Handling mache,

00:26:19: Philipp Salvisberg: dann muss bei uns das und das und das

00:26:20: Philipp Salvisberg: berücksichtigt werden oder was auch immer,

00:26:23: Philipp Salvisberg: und dann kannst du genau eine Regel machen

00:26:25: Philipp Salvisberg: für das und kannst dadurch sicherstellen,

00:26:27: Philipp Salvisberg: dass all deine Changes diese Regeln

00:26:30: Philipp Salvisberg: beinhalten.

00:26:31: Philipp Salvisberg: Ich kenne eine andere Firma, die hat jetzt

00:26:34: Philipp Salvisberg: nicht das Produkt eingesetzt, nur den

00:26:37: Philipp Salvisberg: Purser davon und all die Regeln selber

00:26:38: Philipp Salvisberg: implementiert.

00:26:40: Philipp Salvisberg: Und die haben Hunderte von diesen Regeln,

00:26:43: Philipp Salvisberg: die sind alle einzuhalten, und jedes Mal,

00:26:47: Philipp Salvisberg: wie die das früher gemacht haben, hast du

00:26:49: Philipp Salvisberg: ein Review gemacht, und da mussten Leute

00:26:53: Philipp Salvisberg: sagen, das ist gut, oder Also es ist

00:26:54: Philipp Salvisberg: irgendwie voller Stress, oder.

00:26:57: Philipp Salvisberg: Und wenn du da das Tooling-mässig

00:26:59: Philipp Salvisberg: unterstützen kannst, dann bist du so

00:27:02: Philipp Salvisberg: unglaublich viel effizienter, weil das, was

00:27:04: Philipp Salvisberg: Tooling-mässig geht, das haben wir jetzt

00:27:06: Philipp Salvisberg: gemacht.

00:27:06: Philipp Salvisberg: Und dann gibt es schon noch ein paar

00:27:08: Philipp Salvisberg: Aspekte, die gehen nicht so gut.

00:27:09: Philipp Salvisberg: Dann musst du dich auf die konzentrieren.

00:27:11: Philipp Salvisberg: Von dem her glaube ich, das hat schon

00:27:13: Philipp Salvisberg: Potenzial.

00:27:15: Philipp Salvisberg: Und auch die Dinge, die man heute

00:27:19: Philipp Salvisberg: vielleicht ein bisschen stiefmütterlich

00:27:20: Philipp Salvisberg: behandelt in der Datenbank betreffend

00:27:23: Philipp Salvisberg: Applikationsentwicklung und Security.

00:27:26: Philipp Salvisberg: Also ich denke so was kann eigentlich ein

00:27:31: Philipp Salvisberg: Applikations-Owner-Schema zu Runtime?

00:27:34: Philipp Salvisberg: Also, typischerweise kann es ja viel mehr,

00:27:36: Philipp Salvisberg: als es eigentlich können müsste.

00:27:38: Philipp Salvisberg: Also, man kann irgendwie eine Tabelle

00:27:40: Philipp Salvisberg: anlegen zu Runtime.

00:27:41: Philipp Salvisberg: Wann braucht man das wirklich?

00:27:43: Philipp Salvisberg: Es gibt vielleicht ein paar

00:27:45: Philipp Salvisberg: Exoten-Applikationen, die zu Runtime

00:27:47: Philipp Salvisberg: tatsächlich Tabellen anlegen, aber typische

00:27:49: Philipp Salvisberg: macht das nicht.

00:27:50: Philipp Salvisberg: Aber wenn du in der Welt rumschaust, dann

00:27:54: Philipp Salvisberg: haben viele einfach Crate-Privileges auf

00:27:55: Philipp Salvisberg: diesem Schema Und so weiter und so fort.

00:27:58: Philipp Salvisberg: Das heisst, wenn du Security nehmen wie

00:28:00: Philipp Salvisberg: ernst auf allen Ebenen etc.

00:28:02: Philipp Salvisberg: Und da irgendwo auf der Datenbank SQL

00:28:06: Philipp Salvisberg: Injection ist noch das höchste der Gefühle,

00:28:08: Philipp Salvisberg: das man machen kann, aber der Rest ist

00:28:10: Philipp Salvisberg: nicht so wichtig.

00:28:10: Philipp Salvisberg: Ich glaube, das wird machen kann, aber der

00:28:11: Philipp Salvisberg: Rest ist nicht so wichtig.

00:28:12: Philipp Salvisberg: Ich glaube, das wird wichtiger werden, Und

00:28:13: Philipp Salvisberg: das sind auch so Dinge, die man dann prüfen

00:28:16: Philipp Salvisberg: kann.

00:28:16: Philipp Salvisberg: Das ist vielleicht eine andere Komponente,

00:28:18: Philipp Salvisberg: die auch neu drin ist, die es vorher nicht

00:28:20: Philipp Salvisberg: gab, und zwar sind das ich nenne das Tests.

00:28:24: Caro: Im.

00:28:24: Philipp Salvisberg: Prinzip ist.

00:28:25: Philipp Salvisberg: Ich weiß jetzt, mtag hat auch so ein

00:28:27: Philipp Salvisberg: Freeware-Tool, das heißt Questor.

00:28:29: Philipp Salvisberg: Ist das richtig?

00:28:30: Kai : Genau, also, mittlerweile sind wir.

00:28:33: Kai : Mta geht zu MTGmbH, zu MTA IT Solutions zu.

00:28:37: Kai : Hiant genau.

00:28:41: Kai : Gott ist auch noch ein Stichwort Wir

00:28:43: Kai : gehören zusammen genau.

00:28:45: Kai : Das ist alles unter dem Dach der Hiant

00:28:46: Kai : zusammen, aber bin ich natürlich nicht in

00:28:48: Kai : dieser Funktion hier in dem Podcast, muss

00:28:49: Kai : ich mal dazu sagen.

00:28:50: Kai : Aber ja, es gibt ein Tool, das heißt Quasto

00:28:54: Kai : Quasto.

00:28:54: Kai : Das ist von Oliver Lem geführt, und da ist

00:28:56: Kai : auch super viel von dem.

00:28:57: Philipp Salvisberg: Genau das ist auch ein bisschen die Idee,

00:29:00: Philipp Salvisberg: dass du solche Art von Queries also ein

00:29:03: Philipp Salvisberg: bisschen knackiger, als jetzt dort die

00:29:05: Philipp Salvisberg: Vorgabe ist, formulieren kannst.

00:29:07: Philipp Salvisberg: Jede Zeile, die kommt, ist eigentlich

00:29:09: Philipp Salvisberg: non-compliant, und das Resultat, das du

00:29:13: Philipp Salvisberg: hast, ist eigentlich das, was du auch von

00:29:15: Philipp Salvisberg: einem JUnit-Test oder so hast.

00:29:17: Philipp Salvisberg: Das kannst du dann so visualisieren in

00:29:19: Philipp Salvisberg: diesem guten alten XML-Format, das man

00:29:22: Philipp Salvisberg: kennt, und das können X-Tools das dann

00:29:24: Philipp Salvisberg: visualisieren.

00:29:26: Philipp Salvisberg: Das kann man auch sehr gut im Visual Studio

00:29:27: Philipp Salvisberg: Code integrieren.

00:29:28: Philipp Salvisberg: Weisst, du hast du auch dort Tests, kannst

00:29:30: Philipp Salvisberg: die da laufen lassen und sagen ah, die sind

00:29:32: Philipp Salvisberg: gefailt, und dann musst du irgendwie mit

00:29:35: Philipp Salvisberg: deinen Exceptions umgehen können und die

00:29:37: Philipp Salvisberg: dann einbauen, auch im CI-CD-Umfeld.

00:29:40: Philipp Salvisberg: Das ist auch Teil.

00:29:42: Philipp Salvisberg: Also, eine Regel kann eigentlich mit

00:29:44: Philipp Salvisberg: statischer Code-Analyse geprüft werden,

00:29:46: Philipp Salvisberg: kann mit SQL-Abfragen geprüft werden, und

00:29:50: Philipp Salvisberg: dann gibt es ganz später einmal noch die

00:29:54: Philipp Salvisberg: Kombination davon.

00:29:57: Caro: Ja, also ich finde coole Aussichten, was du

00:30:00: Caro: da so vorhast, und gerade diese Guidelines

00:30:04: Caro: oder dann eben auch in dem Zuge den CodeCop,

00:30:07: Caro: den empfehle ich auch immer relativ häufig,

00:30:10: Caro: gerade auch Teams, die jetzt, sage ich mal,

00:30:13: Caro: noch keine 20 Jahre Berufserfahrung haben

00:30:15: Caro: oder sowas gemeinsam, dass man da einfach

00:30:17: Caro: mal reinschauen und durchlesen kann, was

00:30:19: Caro: man so vorschlägt, was ein guter Stil ist,

00:30:22: Caro: und dass man sich das dann auch anzeigen

00:30:24: Caro: lassen kann im SQL Developer.

00:30:26: Caro: Deswegen finde ich das immer toll, wenn es

00:30:28: Caro: solche Tools dann auch so insgesamt gibt

00:30:32: Caro: Und gerade dann so eine Mischung also Tools

00:30:34: Caro: dann auch so insgesamt gibt Und gerade dann

00:30:35: Caro: so eine Mischung.

00:30:35: Caro: also ich meine, jetzt ist es ja auch das

00:30:36: Caro: SQL Developer Plugin, das ist ja kostenfrei,

00:30:37: Caro: und wenn man das über eine Konsole machen

00:30:40: Caro: möchte oder in SonarQ, glaube ich, heißt es

00:30:43: Caro: einbinden möchte, dann hätte man ja bisher

00:30:45: Caro: bezahlen müssen.

00:30:46: Caro: jetzt gibt es den Service nicht mehr, aber

00:30:48: Caro: dann auch die Kombination fand ich

00:30:49: Caro: eigentlich total sinnvoll.

00:30:51: Caro: Ja, wie gesagt, finde ich einfach wertvoll

00:30:53: Caro: für die Entwickler draußen.

00:30:56: Kai : Mich interessiert nochmal so ein bisschen

00:30:57: Kai : der Hintergrund.

00:30:58: Kai : Ich meine, dich sieht man auf Konferenzen,

00:31:00: Kai : mit deinen Vorträgen, jetzt hier auch in

00:31:01: Kai : dem Podcast.

00:31:02: Kai : Letztes Jahr auf der DOR, glaube ich, saßen

00:31:04: Kai : wir hier zusammen auch in einem

00:31:05: Kai : Testing-Panel.

00:31:07: Kai : Das steckt ja sozusagen schon in dir drin,

00:31:10: Kai : dass du sehr großen Wert darauf legst, dass

00:31:13: Kai : die Codequalität gut ist, dass Regeln

00:31:15: Kai : eingehalten werden, dass man auch nur

00:31:17: Kai : ordentliche Testabdeckungen in seinen

00:31:18: Kai : Projekten hat.

00:31:19: Kai : Würdest du sagen, das ist ein Teil von dir,

00:31:21: Kai : der aus irgendwelchen besonderen

00:31:24: Kai : Vorkommnissen entstanden sind, dass du

00:31:26: Kai : gesagt hast, ich kam irgendwie zu einem

00:31:28: Kai : bestimmten Zeitpunkt in meiner Karriere,

00:31:30: Kai : habe ich gesagt, ich muss jetzt hier

00:31:31: Kai : unbedingt Testabdeckung machen, ich muss

00:31:32: Kai : ganz sicher gehen mit meinem Code, oder ist

00:31:34: Kai : das etwas, was so mit der Zeit entstanden

00:31:35: Kai : ist und dein Steckenpferd geworden ist, und

00:31:37: Kai : deswegen hast du dir damit einen Namen

00:31:38: Kai : gemacht?

00:31:39: Philipp Salvisberg: Ich denke das ist einfach mit der Zeit

00:31:41: Philipp Salvisberg: entstanden aus echten Problemen.

00:31:43: Philipp Salvisberg: Also ich bin irgendwie nicht der Typ, der

00:31:45: Philipp Salvisberg: sagt, da testen musst du so und so machen

00:31:47: Philipp Salvisberg: und so weiter weiter, sondern ich habe

00:31:50: Philipp Salvisberg: tatsächlich Probleme gehabt an gewissen

00:31:52: Philipp Salvisberg: Orten Früher.

00:31:53: Philipp Salvisberg: also ich entwickle seit weiss ich wann,

00:31:57: Philipp Salvisberg: also als Teenager Zeiten her.

00:31:59: Philipp Salvisberg: also mein erstes Programm, das ich

00:32:01: Philipp Salvisberg: geschrieben habe, war in Assembler aus

00:32:03: Philipp Salvisberg: einem Videopack Game, Das war die Kassette

00:32:07: Philipp Salvisberg: Nummer 9, die habe ich mir auf den

00:32:08: Philipp Salvisberg: Geburtstag gewünscht, und da hast du dir so

00:32:11: Philipp Salvisberg: eine Folientastatur gehabt, und die

00:32:14: Philipp Salvisberg: Displayzeile auf dem Bildschirm hatte elf

00:32:17: Philipp Salvisberg: Charakters zur Verfügung.

00:32:18: Philipp Salvisberg: und mein erstes Programm war irgendwie ein

00:32:20: Philipp Salvisberg: Lotto-Programm, um random Zahlen zu machen,

00:32:23: Philipp Salvisberg: Und da wollte ich dann mit meinem

00:32:24: Philipp Salvisberg: Taschengeld dann diese Zahlen nehmen, weil

00:32:27: Philipp Salvisberg: ich das Gefühl hatte, dass das sicher gut

00:32:30: Philipp Salvisberg: ist.

00:32:31: Kai : Und die Frage der Fragen ist natürlich hast

00:32:33: Kai : du jemals damit was gewonnen?

00:32:34: Kai : Natürlich nicht.

00:32:37: Philipp Salvisberg: Und das Schlimmste war, wenn du die Konsole

00:32:41: Philipp Salvisberg: ausgeschaltet hast, dann war das Programm

00:32:43: Philipp Salvisberg: weg.

00:32:44: Philipp Salvisberg: Also du musstest das Coding-Shit, das

00:32:46: Philipp Salvisberg: Assembler-Programm draufschreiben und dann

00:32:48: Philipp Salvisberg: wieder auf der Folie, und dann musstest du

00:32:49: Philipp Salvisberg: da den Mist wieder eintippen, und da lernt

00:32:53: Philipp Salvisberg: man eine Diskette wirklich schätzen.

00:32:57: Philipp Salvisberg: Also das ist wirklich eine coole Sache.

00:32:59: Philipp Salvisberg: Also ich war total Fan von diesen Dingen.

00:33:02: Philipp Salvisberg: Du kannst es speichern, und nachher kannst

00:33:03: Philipp Salvisberg: du es einfach wieder laden.

00:33:05: Philipp Salvisberg: Wie cool ist das denn Jetzt?

00:33:08: Philipp Salvisberg: mache ich mir Feinde.

00:33:10: Kai : Eine kleiner Disclaimer für unsere Zuhörer

00:33:12: Kai : Diskette, das war so ein flaches

00:33:15: Kai : Plastikdigiten mit einer Silberscheibe in

00:33:18: Kai : der Mitte und wo man ganz viel Ärger von

00:33:19: Kai : den Eltern bekommen hat, wenn man oben

00:33:21: Kai : dieses Alu-Ding zur Seite geschoben hat.

00:33:22: Caro: Das ist das.

00:33:23: Philipp Salvisberg: Speichern-Symbol Ja, das ist das

00:33:25: Philipp Salvisberg: Speichern-Symbol.

00:33:26: Philipp Salvisberg: Wir hatten ein PC zu Hause.

00:33:28: Philipp Salvisberg: Das war ein K-Pro mit einer zweistelligen

00:33:31: Philipp Salvisberg: Seriennummer.

00:33:34: Philipp Salvisberg: Mein Vater war da so ein bisschen Freak und

00:33:37: Philipp Salvisberg: hatte diese mit zwei Diskettenlaufwerken.

00:33:40: Philipp Salvisberg: Meine Kollegen hatten da ihre

00:33:42: Philipp Salvisberg: Commodore-Computer und mit den Tapes auf

00:33:45: Philipp Salvisberg: den Tapes lesen.

00:33:48: Philipp Salvisberg: Auf Diskette hatten wir direkten Zugriff,

00:33:52: Philipp Salvisberg: und auf der einen Seite konnte ich das

00:33:53: Philipp Salvisberg: Betriebssystem rein tun, musste nicht

00:33:56: Philipp Salvisberg: wechseln, um meine Daten reinzuholen, auf

00:33:58: Philipp Salvisberg: der anderen Seite die Datenspeichern.

00:34:00: Philipp Salvisberg: Das war eigentlich perfekt.

00:34:01: Philipp Salvisberg: In meiner dazumaligen Welt war es perfekt.

00:34:04: Philipp Salvisberg: Nur, dass die Spiele, die man früher nicht

00:34:08: Philipp Salvisberg: runtergeladen hat, sondern die hat man in

00:34:09: Philipp Salvisberg: Büchern gekauft, und dann konnte man den

00:34:13: Philipp Salvisberg: Code abtippen, die funktionierten alle

00:34:15: Philipp Salvisberg: nicht auf diesem Computer, weil die waren

00:34:18: Philipp Salvisberg: halt für den Kommandore und den Spektrum

00:34:21: Philipp Salvisberg: geschrieben, aber sicher nicht für unsere

00:34:23: Philipp Salvisberg: Kiste.

00:34:25: Kai : Zum Glück zeigt die Kamera nur auf den

00:34:26: Kai : Philipp und nicht auf uns, weil wir sitzen

00:34:28: Kai : hier beide mit offenen Mündern mit Tiefe

00:34:30: Kai : auf und sagen erzähl uns mehr von früher.

00:34:33: Kai : Nein, das war ja das.

00:34:37: Philipp Salvisberg: Aber die Frage war ja irgendwie, warum bin

00:34:40: Philipp Salvisberg: ich da aufs Testen gekommen?

00:34:41: Philipp Salvisberg: Ich habe früher Code geschrieben und

00:34:43: Philipp Salvisberg: einfach rausgeführt.

00:34:45: Philipp Salvisberg: Also testen, testen ist ja, man startet,

00:34:48: Philipp Salvisberg: und dann brauchst du es da irgendwie so.

00:34:52: Philipp Salvisberg: Und ja, genau, und da irgendwo gab es dann

00:34:56: Philipp Salvisberg: halt schon Situationen.

00:34:57: Philipp Salvisberg: Und der Parser, der die Basis war für den

00:35:00: Philipp Salvisberg: Cop, den habe ich auch so geschrieben, aber

00:35:04: Philipp Salvisberg: meine Beispielskripte, die hat man dann

00:35:07: Philipp Salvisberg: geparst, und wenn die dann gut waren, dann

00:35:09: Philipp Salvisberg: war es okay.

00:35:10: Philipp Salvisberg: Aber an einem gewissen Zeitpunkt, wo ich

00:35:12: Philipp Salvisberg: angefangen habe, diesen Parser

00:35:15: Philipp Salvisberg: weiterzuentwickeln, habe ich gemerkt, das

00:35:16: Philipp Salvisberg: geht nicht.

00:35:17: Philipp Salvisberg: Wenn ich da was mache, dann geht am anderen

00:35:18: Philipp Salvisberg: Ort was kaputt, und ich kann das nicht mehr

00:35:21: Philipp Salvisberg: enttänen.

00:35:22: Philipp Salvisberg: Das geht einfach nicht, oder Ich muss

00:35:25: Philipp Salvisberg: irgendwie eine Hilfestellung haben, um das

00:35:30: Philipp Salvisberg: weiterentwickeln zu können.

00:35:31: Philipp Salvisberg: Natürlich habe ich da von den Testen schon

00:35:33: Philipp Salvisberg: gehört, die andere Kollegen uns so

00:35:35: Philipp Salvisberg: eingesetzt haben, und ich habe auch gedacht,

00:35:37: Philipp Salvisberg: das muss ich mir mal dann genauer anschauen,

00:35:39: Philipp Salvisberg: irgendwie, und habe mir dann nie gemacht.

00:35:41: Philipp Salvisberg: Und das war dann der Zeitpunkt, wo ich das

00:35:43: Philipp Salvisberg: ein bisschen intensiver gemacht habe und

00:35:45: Philipp Salvisberg: dann wirklich dort Testabdeckung gemacht

00:35:49: Philipp Salvisberg: habe, die mir geholfen hat.

00:35:51: Philipp Salvisberg: Ich habe nichts gemacht, was ich gesagt

00:35:52: Philipp Salvisberg: habe.

00:35:52: Philipp Salvisberg: Das habe ich nur gemacht, weil ich es

00:35:53: Philipp Salvisberg: irgendwo gehört habe.

00:35:55: Philipp Salvisberg: Es musste mir einen Value bringen, und dort

00:35:57: Philipp Salvisberg: hat es mir einen Value gebracht.

00:35:59: Philipp Salvisberg: Die andere Geschichte, wo ich sage jetzt

00:36:01: Philipp Salvisberg: mal Testing irgendwie vielleicht von

00:36:04: Philipp Salvisberg: anderen auch wahrgenommen wurde, war

00:36:05: Philipp Salvisberg: zusammen mit UTP und SQL.

00:36:08: Philipp Salvisberg: Und da war der Gründer, der, jacek Ebal,

00:36:12: Philipp Salvisberg: kam auf mich zu.

00:36:17: Philipp Salvisberg: Irgendwann haben wir uns zu meiner

00:36:18: Philipp Salvisberg: Konferenz kennengelernt.

00:36:18: Philipp Salvisberg: Juk kam auf mich zu und meinte kennst du

00:36:20: Philipp Salvisberg: jemanden, der vielleicht eine SQL Developer

00:36:24: Philipp Salvisberg: Extension machen könnte für UTP, lasql?

00:36:28: Philipp Salvisberg: Die Frage ist ja schon leading, oder?

00:36:31: Philipp Salvisberg: Ich sagte ja, ich wüsste nicht jemanden,

00:36:34: Philipp Salvisberg: aber ich könnte mir das mal ein bisschen

00:36:36: Philipp Salvisberg: anschauen.

00:36:37: Philipp Salvisberg: Zu diesem Zeitpunkt habe ich dann alles,

00:36:40: Philipp Salvisberg: was ich getestet habe, was mit SQL zu tun

00:36:42: Philipp Salvisberg: hatte oder in die Datenbank deployed wurde,

00:36:44: Philipp Salvisberg: habe ich mit JUnit getestet, war für mich

00:36:46: Philipp Salvisberg: gut genug.

00:36:48: Philipp Salvisberg: Dann habe ich mit UDP LS gesagt, braucht es

00:36:50: Philipp Salvisberg: nicht.

00:36:51: Philipp Salvisberg: Dann habe ich mir das ein bisschen genauer

00:36:53: Philipp Salvisberg: angeschaut ich muss irgendwie ein Plugin

00:36:55: Philipp Salvisberg: machen für das Ding Und habe mich damit

00:36:57: Philipp Salvisberg: dann auseinandergesetzt.

00:36:59: Philipp Salvisberg: Die erste Version war ziemlich rudimentär,

00:37:02: Philipp Salvisberg: und dann hast du ein bisschen mehr gemacht,

00:37:04: Philipp Salvisberg: und irgendwie wirst du dann wahrgenommen,

00:37:06: Philipp Salvisberg: dass der Typ der draus kommt im Testing.

00:37:09: Philipp Salvisberg: Da war ich nur der Typ, der das cool

00:37:11: Philipp Salvisberg: geschrieben hat für das Framework, und so

00:37:15: Philipp Salvisberg: sitzt man im Panel von.

00:37:17: Philipp Salvisberg: Adobe.

00:37:18: Philipp Salvisberg: Genau dann hat man das Gefühl, der Typ

00:37:19: Philipp Salvisberg: kommt raus, aber ich komme überhaupt nicht

00:37:21: Philipp Salvisberg: raus.

00:37:22: Philipp Salvisberg: Ich mache einfach gewisse Dinge, nutze die

00:37:25: Philipp Salvisberg: und sage ich glaube wirklich, all dem, was

00:37:29: Philipp Salvisberg: du machst, musst du irgendwie einen Nutzen

00:37:30: Philipp Salvisberg: rausziehen.

00:37:31: Philipp Salvisberg: Und wenn du das Gefühl hast, es bringt

00:37:32: Philipp Salvisberg: nichts, dann lass es.

00:37:34: Philipp Salvisberg: Und so wie ich Testing einsetze, glaube ich

00:37:37: Philipp Salvisberg: daran, das nutzt mir und hilft mir.

00:37:39: Philipp Salvisberg: Das, glaube ich, ist gut.

00:37:41: Kai : Auch wenn das so einen Umfang hat, dass es

00:37:42: Kai : 50 mal mehr Code ist als der eigentliche

00:37:44: Kai : Code.

00:37:45: Kai : Also, da würde ich jetzt mal sagen, dass

00:37:46: Kai : wahrscheinlich einige Hörer von uns große

00:37:48: Kai : Augen bekommen haben bei dem Umfang.

00:37:50: Philipp Salvisberg: Ja, der Punkt ist natürlich auch, wenn du

00:37:52: Philipp Salvisberg: dir die Antel Air Source anschaust, die ist

00:37:55: Philipp Salvisberg: unglaublich.

00:37:55: Philipp Salvisberg: Das ist eine DSL, die eine Grammatik

00:37:58: Philipp Salvisberg: beschreibt.

00:37:59: Philipp Salvisberg: Die ist natürlich auch unglaublich kompakt,

00:38:02: Philipp Salvisberg: und wenn du nur schon einen kleinen Test

00:38:04: Philipp Salvisberg: machst für irgendwelche Select-Sachen oder

00:38:06: Philipp Salvisberg: eine Clausen, dann musst du das

00:38:07: Philipp Salvisberg: runterbrechen für Clausen da vorne etc.

00:38:09: Philipp Salvisberg: Das ist einfach schon unglaublich viel

00:38:11: Philipp Salvisberg: verboser, also Klausen da vorne etc.

00:38:13: Philipp Salvisberg: Das ist einfach schon unglaublich.

00:38:13: Philipp Salvisberg: Flimverbose Also, das ist gibt automatisch

00:38:15: Philipp Salvisberg: mehr, tönt noch wahnsinnig viel mehr, ist

00:38:18: Philipp Salvisberg: auch viel Arbeit, aber am Ende ist es

00:38:22: Philipp Salvisberg: notwendig Also, und es hilft.

00:38:24: Philipp Salvisberg: Also ich habe gerade vor der DORC noch

00:38:28: Philipp Salvisberg: einen gewissen Change machen wollen, weil

00:38:30: Philipp Salvisberg: ich das Gefühl habe, ja, das geht doch

00:38:31: Philipp Salvisberg: irgendwie so, und dann habe ich das

00:38:33: Philipp Salvisberg: geändert, und dann lief wollen, weil ich

00:38:33: Philipp Salvisberg: das Gefühl habe, ja, das geht doch

00:38:34: Philipp Salvisberg: irgendwie so, und dann habe ich das

00:38:34: Philipp Salvisberg: geändert, und dann lief das, was ich machen

00:38:36: Philipp Salvisberg: wollte, und zehn andere Dinge nicht mehr,

00:38:39: Philipp Salvisberg: und ich dachte, warum?

00:38:41: Philipp Salvisberg: Ja, ja, stimmt, ich erinnere mich Darum,

00:38:46: Philipp Salvisberg: habe ich das ja genau dort nicht gemacht.

00:38:48: Philipp Salvisberg: Habe ich dort noch irgendwo ein paar

00:38:49: Philipp Salvisberg: Kommentare gemacht, dass ich es vielleicht

00:38:51: Philipp Salvisberg: nächstes Mal?

00:38:52: Philipp Salvisberg: wieder besser erinnere.

00:38:54: Philipp Salvisberg: Aber das sind so Dinge, da habe ich

00:38:55: Philipp Salvisberg: wirklich ein gutes Gefühl dran.

00:38:57: Philipp Salvisberg: Ich kann Dinge verändern, und dann lasse

00:39:00: Philipp Salvisberg: ich es laufen und schaue, und wenn es gut

00:39:01: Philipp Salvisberg: ist, ist es gut, und es hilft, und sonst

00:39:05: Philipp Salvisberg: hast du das Feedback weiß ich wo in der

00:39:08: Philipp Salvisberg: Produktion später.

00:39:09: Philipp Salvisberg: Das kannst du dir ja gar nicht leisten.

00:39:11: Philipp Salvisberg: Es ist nur eine Abwägung was sind deine

00:39:14: Philipp Salvisberg: Alternativen?

00:39:18: Philipp Salvisberg: Und ich glaube wirklich, dass diese

00:39:19: Philipp Salvisberg: Unit-Testing und Testing grundsätzlich ist

00:39:21: Philipp Salvisberg: die viel günstigere Alternative.

00:39:24: Kai : Ich glaube, zusammengefasst kann man sagen,

00:39:25: Kai : dass, wenn man hier auf dieser Konferenz

00:39:27: Kai : zehn Entwickler sich schnappen würde und

00:39:29: Kai : eine Reihe stellen würde neben den Philipp

00:39:32: Kai : schläft Philipp mit Abstand am besten

00:39:34: Kai : nachts Wahrscheinlich.

00:39:36: Kai : ja, ja nach Implementation von einem neuen

00:39:39: Kai : Feature, und das ist so gut gecovert und so

00:39:41: Kai : gut getestet, das muss ja auch eine enorme

00:39:43: Kai : Entlastung sein vom Gewissen oder vom

00:39:44: Kai : Gefühl.

00:39:54: Kai : Also ich kenne das selber mit einer Lösung,

00:39:54: Kai : die wir jetzt in der Firma entwickeln, dass

00:39:54: Kai : man durch das ausgiebige Testen also wir

00:39:55: Kai : sind an so einem Testing-Framework neben

00:39:55: Kai : Quasto dran für Apex-Anwendungen und dass,

00:39:57: Kai : wenn man da wirklich intensive, große

00:39:58: Kai : Abdeckung von Tests hat, dass ein

00:40:00: Kai : Produktivgang nicht unbedingt an einem

00:40:03: Kai : Freitag stattfinden muss.

00:40:04: Kai : aber wenn man eine neue Version der

00:40:06: Kai : Anwendung auf die Produktion schiebt, und

00:40:08: Kai : man hat die vorher so ausgiebig getestet,

00:40:10: Kai : dass, wie du jetzt gerade sagtest, ein

00:40:11: Kai : riesen Codebase jedes Mal durchläuft und

00:40:13: Kai : Regressionstests macht und guckt, ob es

00:40:14: Kai : irgendwelche Wechselwirkungen gab, wo du

00:40:16: Kai : händisch nie im Leben drauf gekommen wärst,

00:40:18: Kai : dass dieser Change da was kaputt gemacht

00:40:20: Kai : hätte, dass es ein enormes besseres Gefühl

00:40:23: Kai : ist, wenn man weiß, dass es bei jedem

00:40:24: Kai : einzelnen Commit in die Repository wird das

00:40:27: Kai : eine Info raus, aber am anderen Ende was

00:40:30: Kai : nicht funktioniert.

00:40:31: Kai : Und deswegen ich glaube, philipp schläft

00:40:32: Kai : gut bei einer aktiven Intensiv.

00:40:33: Philipp Salvisberg: Ja, ich denke, ich schlafe besser wegen dem.

00:40:37: Philipp Salvisberg: Der Punkt ist, glaube ich, schon der, dass

00:40:38: Philipp Salvisberg: du, dass du ja nicht maximal testen kannst,

00:40:43: Philipp Salvisberg: das geht nicht.

00:40:44: Philipp Salvisberg: Also, irgendwo hörst du auf, du weißt

00:40:45: Philipp Salvisberg: einfach den Teil, das ist okay.

00:40:49: Philipp Salvisberg: Also, da halte ich meine Hand ins Feuer, da

00:40:52: Philipp Salvisberg: weiss ich, es ist gut.

00:40:53: Philipp Salvisberg: Aber es gibt diverse Dinge, Da hörst du

00:40:57: Philipp Salvisberg: einfach auf.

00:40:57: Philipp Salvisberg: Es ist eine Never-Ending-Story.

00:40:59: Philipp Salvisberg: Du musst nur den Mix finden, einen

00:41:01: Philipp Salvisberg: vernünftigen Cut.

00:41:02: Philipp Salvisberg: Es ist nie perfekt, es ist einfach nur

00:41:05: Philipp Salvisberg: besser, definitiv besser als immer wieder.

00:41:10: Philipp Salvisberg: Früher habe ich mit Clipper entwickelt.

00:41:13: Philipp Salvisberg: Das war eine kompilierte D-Base-Applikation,

00:41:18: Philipp Salvisberg: da habe ich auch Goods gemacht.

00:41:19: Philipp Salvisberg: Für mich war Testen, ich starte das Ding

00:41:21: Philipp Salvisberg: und spiele ein bisschen rum, und wenn es

00:41:24: Philipp Salvisberg: das macht, was ich mir so vorgestellt habe,

00:41:26: Philipp Salvisberg: war gut.

00:41:27: Philipp Salvisberg: Früher habe ich viel besser geschlafen.

00:41:31: Caro: Aus dieser Sicht.

00:41:33: Philipp Salvisberg: Aber ich habe das nie sehr jüngst getestet,

00:41:36: Philipp Salvisberg: also vergiss es.

00:41:37: Philipp Salvisberg: Allerdings hatte ich dazu mal auch schon

00:41:39: Philipp Salvisberg: Kurse gegeben, also ein bisschen später

00:41:41: Philipp Salvisberg: dann für Testing, aber das war dann so ein

00:41:46: Philipp Salvisberg: bisschen formal.

00:41:46: Philipp Salvisberg: Also man hat dann alles aufgeschrieben, was

00:41:48: Philipp Salvisberg: man Step by Step ausgeführt hat.

00:41:51: Philipp Salvisberg: Meine Güte, also nichts von wegen

00:41:53: Philipp Salvisberg: automatisiert, sondern nur eine Art

00:41:56: Philipp Salvisberg: wiederholbar, und das ist heute schon

00:42:00: Philipp Salvisberg: wirklich viel einfacher.

00:42:02: Philipp Salvisberg: Das Tooling, was man heute hat, hilft

00:42:04: Philipp Salvisberg: extrem.

00:42:05: Philipp Salvisberg: Das gab es früher so nicht, aber das

00:42:07: Philipp Salvisberg: Tooling ist wirklich cool.

00:42:09: Philipp Salvisberg: Also außerhalb vom PLS-Umfeld.

00:42:12: Kai : Jetzt, wo es ja auch schon CDs gibt, gibt

00:42:15: Kai : es die noch.

00:42:18: Philipp Salvisberg: Nein, ich glaube, die gibt es auch schon

00:42:19: Philipp Salvisberg: nicht mehr.

00:42:20: Kai : Aber die Office Suite hat auch immer noch

00:42:26: Kai : nicht den Save-Button von der Diskette zur

00:42:28: Kai : CD geupgradet Oder irgendwann.

00:42:30: Philipp Salvisberg: USB, Dann weiß ich ja nicht mehr, wie ich

00:42:31: Philipp Salvisberg: saven kann.

00:42:33: Kai : Wir müssen halt auch einfach wir müssen

00:42:36: Kai : auch ein bisschen Rücksicht nehmen auf

00:42:37: Kai : Philipp dass wir da jetzt nicht zu schnell

00:42:39: Kai : vorangehen, sehr schön.

00:42:42: Caro: Genau, da hatte ich mich jetzt, wo du auch

00:42:44: Caro: so intensiv jetzt aufs Testing eingegangen

00:42:46: Caro: bist.

00:42:46: Caro: da würde mich interessieren hattest du dich

00:42:48: Caro: da schon mit KI wiederum beschäftigt?

00:42:50: Caro: weil tatsächlich wir hatten gestern eine

00:42:52: Caro: Folge, wo wir uns über Visual Studio Code

00:42:55: Caro: unterhalten haben, und über GitHub, copilot,

00:42:57: Caro: und dort gibt es ja auch eine Integration

00:42:59: Caro: mittlerweile für PLSQL, die auch scheinbar

00:43:03: Caro: UTP SQL-Tests zum Beispiel generieren kann.

00:43:07: Caro: Und da frage ich mich also erstmal hattest

00:43:09: Caro: du dich allgemein damit schon mal

00:43:10: Caro: beschäftigt, dir das als Unterstützung zu

00:43:12: Caro: holen?

00:43:12: Caro: und zweitens, was hältst du davon?

00:43:15: Caro: Weil du schreibst ja aktuell alles selber

00:43:16: Caro: und wahrscheinlich Ja, ich schreibe es

00:43:20: Caro: selber.

00:43:21: Philipp Salvisberg: Also, das letzte Mal, was ich mir

00:43:23: Philipp Salvisberg: angeschaut habe, ist eigentlich die

00:43:25: Philipp Salvisberg: Unterstützung für PLS-School relativ

00:43:26: Philipp Salvisberg: schlecht gewesen, aber ich habe mich nicht

00:43:30: Philipp Salvisberg: geupdatet.

00:43:31: Philipp Salvisberg: Von dem her kann ich nicht sagen, wie gut

00:43:33: Philipp Salvisberg: das ist oder wie das funktioniert.

00:43:36: Philipp Salvisberg: Vom Generieren von Tests bin ich

00:43:38: Philipp Salvisberg: grundsätzlich ein bisschen skeptisch.

00:43:41: Philipp Salvisberg: Ich meine, du kannst, ich weiss es nicht,

00:43:44: Philipp Salvisberg: wie gut das ist.

00:43:45: Philipp Salvisberg: Ich sage mal, ich bin skeptisch und würde

00:43:47: Philipp Salvisberg: mir das gerne ein bisschen genauer

00:43:49: Philipp Salvisberg: anschauen.

00:43:49: Philipp Salvisberg: Was geht, gerne ein bisschen genauer

00:43:50: Philipp Salvisberg: anschauen, was geht.

00:43:51: Philipp Salvisberg: Also ich meine, auch im

00:43:53: Philipp Salvisberg: UTP-Lascaux-Framework haben wir dort die

00:43:55: Philipp Salvisberg: Möglichkeit, skeletons zu generieren?

00:43:58: Philipp Salvisberg: oder sagst, ja, da hast du diese Fälle, und

00:44:00: Philipp Salvisberg: das ist irgendwie klar, dass du positiv und

00:44:02: Philipp Salvisberg: negativ abtesten willst etc.

00:44:04: Philipp Salvisberg: Aber irgendwo habe ich im Moment ein

00:44:06: Philipp Salvisberg: bisschen Mühe, mir vorzustellen, wie das,

00:44:10: Philipp Salvisberg: was du testen wirst, alles automatisch

00:44:12: Philipp Salvisberg: gehen soll, vor allem bei Dingen, wie wenn

00:44:16: Philipp Salvisberg: man über Code-Abdeckung spricht, und man

00:44:19: Philipp Salvisberg: hat im SQL-Umfeld ein Select-Commander, was

00:44:23: Philipp Salvisberg: weiss ich, wie lange ist.

00:44:24: Philipp Salvisberg: Das sieht man jetzt im Postcard nicht.

00:44:25: Philipp Salvisberg: Ich habe meine Hände oben gehalten, und da

00:44:30: Philipp Salvisberg: hast du sofort eine Test-Coverage von 100%,

00:44:33: Philipp Salvisberg: wenn du dieses Select-Statement getroffen

00:44:34: Philipp Salvisberg: hast.

00:44:35: Philipp Salvisberg: Also wie cool ist das denn?

00:44:36: Philipp Salvisberg: Aber wenn du dir überlegst, was du allen

00:44:40: Philipp Salvisberg: für sich testen musst, um das gut

00:44:42: Philipp Salvisberg: rauszubekommen, habe ich ein bisschen Mühe,

00:44:44: Philipp Salvisberg: ob in diesem Bereich die Dinge dann

00:44:46: Philipp Salvisberg: funktionieren werden.

00:44:47: Philipp Salvisberg: Es gibt sicher Teile, da geht das.

00:44:49: Philipp Salvisberg: Ich muss mir das auch nochmal anschauen,

00:44:51: Philipp Salvisberg: aber irgendwo hat es immer Grenzen.

00:44:54: Philipp Salvisberg: Man muss das, denke ich, ist grundsätzlich

00:44:58: Philipp Salvisberg: ein bisschen so bei KI Also du musst

00:44:59: Philipp Salvisberg: eigentlich das Domänenverständnis haben für

00:45:02: Philipp Salvisberg: das, was du einsetzt, damit du entscheiden

00:45:05: Philipp Salvisberg: kannst, ob das, was rauskommt, gut ist oder

00:45:07: Philipp Salvisberg: nicht.

00:45:08: Philipp Salvisberg: Und ich denke, es hat immer einen Teil, wo

00:45:10: Philipp Salvisberg: du sagst ah, das ist eigentlich noch gut,

00:45:13: Philipp Salvisberg: aber der nicht.

00:45:13: Philipp Salvisberg: Und dann brauchst du es halt für den Teil,

00:45:15: Philipp Salvisberg: wo es gut ist, und das wird dann besser und

00:45:17: Philipp Salvisberg: besser mit der Zeit.

00:45:18: Kai : Es ist ja auch ein Perpetuum mobile, wenn

00:45:21: Kai : du einen Test.

00:45:23: Kai : Das klingt so, als hätten wir so eine

00:45:24: Kai : Bingo-Karte vor uns.

00:45:28: Philipp Salvisberg: Nach der Sommerpause kommt der Kai auf

00:45:29: Philipp Salvisberg: jeden Fall mit so einem.

00:45:30: Philipp Salvisberg: Ihr habt ja tatsächlich so Karten gesehen.

00:45:31: Philipp Salvisberg: Nach der Sommerpause kommt der Kai auf

00:45:32: Philipp Salvisberg: jeden Fall mit so einem komischen.

00:45:33: Philipp Salvisberg: Ihr habt doch tatsächlich so Karten gesehen.

00:45:36: Kai : Dass ich mit so einem kleinen Wörterbuch,

00:45:37: Kai : wie wir da mit komplexen Worten irgendwie

00:45:38: Kai : aus der Sommerpause wieder zurückgekommen

00:45:40: Kai : sind.

00:45:41: Kai : ich weiß es nicht genau.

00:45:42: Kai : Aber wenn es darum geht, dass ich Tests

00:45:43: Kai : schreibe, sollten die ja zu 100% sein.

00:45:45: Kai : Die sollen ja Code abdecken, wo ich der

00:45:46: Kai : Meinung bin, dass die eventuell gegen die

00:45:48: Kai : Wand fahren können.

00:45:54: Kai : Wenn gegen die Wand fahren können, wenn ich

00:45:55: Kai : jetzt diese Tests, die eigentlich mir

00:45:55: Kai : Sicherheit geben sollen, von etwas

00:45:56: Kai : generieren lasse, wo ich nicht genau weiß,

00:45:56: Kai : wie es funktioniert, und nehme das auf,

00:45:58: Kai : dann, wenn ich jetzt wieder über mein

00:45:59: Kai : Schlafthema rede, dann schlafe ich dann

00:46:01: Kai : auch nicht besser als vorher.

00:46:02: Kai : Dann muss ich ja im Endeffekt eigentlich

00:46:03: Kai : noch einen Test schreiben für die KI, die

00:46:05: Kai : Tests schreibt.

00:46:07: Caro: Ja, also, ich bin da tatsächlich auch.

00:46:09: Caro: ich bin ja allgemein eher Skeptikerin, und

00:46:12: Caro: da bin ich mich auch immer so ein bisschen

00:46:15: Caro: ja, ich sag mal vorsichtig weil dadurch

00:46:17: Caro: also ich benutze jetzt ja GitHub, copilot

00:46:20: Caro: zum Beispiel auch schon seit einer Weile,

00:46:21: Caro: und man fängt auch an, schnuderig zu werden,

00:46:26: Caro: und ich kann mir vorstellen, dass das bei

00:46:27: Caro: den Tests genauso wird, dass man das

00:46:29: Caro: vielleicht erst benutzt, um sich zu

00:46:30: Caro: unterstützen, um so ein bisschen Code zu

00:46:32: Caro: generieren, um dann darauf basierend

00:46:34: Caro: weiterzumachen und das dann zum Beispiel

00:46:37: Caro: auch selbst nochmal durchzugehen und alles.

00:46:39: Caro: Und dann kann ich mir aber vorstellen, dass

00:46:40: Caro: man dann irgendwann auch wieder anfängt,

00:46:41: Caro: schluderig zu werden damit, und dann sich

00:46:44: Caro: dort Konstrukte bauen lässt, die eigentlich

00:46:46: Caro: nicht sinnvoll sind, weil sie die wichtigen

00:46:48: Caro: Fälle auch nicht abtesten Oder sow Fälle

00:46:50: Caro: auch nicht abtesten oder sowas.

00:46:51: Caro: Aber es hat mich einfach interessiert, was

00:46:52: Caro: du dazu denkst, oder ob du dich schon mal

00:46:55: Caro: damit beschäftigt hast.

00:46:57: Philipp Salvisberg: Nein, das ist auf meiner To-Do-Liste, aber

00:47:00: Philipp Salvisberg: im Moment bin ich eher der Typ, der

00:47:03: Philipp Salvisberg: rule-based unterwegs ist, und ich brauche

00:47:07: Philipp Salvisberg: Chat-GPT jeweils, um mich zu unterstützen.

00:47:11: Philipp Salvisberg: Ich habe auch ein Abo davon.

00:47:13: Philipp Salvisberg: Ich nutze das für diverse Dinge und bin

00:47:15: Philipp Salvisberg: immer wieder überrascht, wie in gewissen

00:47:17: Philipp Salvisberg: Umfällen, wie gut das funktioniert.

00:47:20: Philipp Salvisberg: Das ist erstaunlich.

00:47:21: Philipp Salvisberg: Ich verstehe es nicht so richtig.

00:47:23: Philipp Salvisberg: Das macht mich auch ein bisschen mehr zum

00:47:25: Philipp Salvisberg: Skeptiker.

00:47:26: Philipp Salvisberg: Aber am Ende denke ich, wenn du bereit bist,

00:47:29: Philipp Salvisberg: das, was rauskommt, zu akzeptieren und zu

00:47:31: Philipp Salvisberg: sagen, das ist mein Code, dann ist gut, und

00:47:35: Philipp Salvisberg: du verstehst, was da abgeht, dann ist gut.

00:47:37: Philipp Salvisberg: Oder Und dann kannst du sagen, ja, dann bin

00:47:40: Philipp Salvisberg: ich einfach irgendwie schneller gewesen, um

00:47:42: Philipp Salvisberg: das zu erzeugen, und das macht irgendwie

00:47:44: Philipp Salvisberg: Sinn.

00:47:45: Philipp Salvisberg: Aber wenn du sagst, ja, weisst du, ich habe

00:47:47: Philipp Salvisberg: es ja nicht geschrieben, das hat ja die AI

00:47:50: Philipp Salvisberg: Unterstützung für mich gemacht, dann wird

00:47:52: Philipp Salvisberg: es gefährlich.

00:47:54: Kai : Wir hatten das auch schon in anderen Folgen,

00:47:55: Kai : auch schon in diversen Gesprächen auch

00:47:56: Kai : schon mal behandelt, und ich glaube, auch

00:47:58: Kai : über die letzten Jahre, wenn man das so

00:48:00: Kai : sagen kann, in diesem Podcast immer mal

00:48:01: Kai : wieder angedeutet wofür ist KI und

00:48:04: Kai : Jobverlust hin oder her, und was auch immer

00:48:05: Kai : man da in den nächsten Jahren projizieren

00:48:07: Kai : mag, wo das hingeht?

00:48:09: Kai : aber wir haben eigentlich auch immer so ein

00:48:10: Kai : bisschen festgehalten, dass die KI oder AI

00:48:13: Kai : im Generellen irgendwie, dass das eher

00:48:17: Kai : nicht die Faulheit von Entwicklern

00:48:18: Kai : unterstützt, aber eher dafür sorgt, dass

00:48:20: Kai : die Produktivität, die Geschwindigkeit

00:48:22: Kai : vielleicht hochgeht, weil wiederkehrende

00:48:24: Kai : Aufgaben, die nicht sonderlich

00:48:26: Kai : anspruchsvoll sind, davon abgenommen werden,

00:48:28: Kai : um Zeit zu sparen, aber nicht, dass es das

00:48:30: Kai : Denken ersetzen kann.

00:48:31: Kai : Man kann nicht sagen, ich kriege dieses

00:48:33: Kai : Problem oder diesen Code nicht gelöst, weil

00:48:35: Kai : ich überhaupt nicht weiß, wie ich das

00:48:36: Kai : machen soll.

00:48:37: Kai : Dann lasse ich die KI das machen, freue

00:48:38: Kai : mich, dass es vielleicht in der Runtime

00:48:40: Kai : funktioniert, irgendwo das, was ich jetzt

00:48:42: Kai : sehen kann, direkt.

00:48:43: Kai : Aber ich versuche, das gar nicht erst zu

00:48:45: Kai : verstehen, was da passiert.

00:48:45: Kai : Ich glaube, das ist eine Sache da wird sich

00:48:47: Kai : nochmal richtig was tun in der Industrie

00:48:49: Kai : dass man dann feststellt okay, wir sind

00:48:50: Kai : jetzt mit dem Quick Win dabei, wir haben

00:48:52: Kai : ganz schnell ganz viel Code generiert, wir

00:48:53: Kai : haben da super Zeit mitgespart, aber die

00:48:55: Kai : Nacharbeiten für das hatte unser anderer

00:48:58: Kai : Gesprächspartner, den wir jetzt auch

00:48:59: Kai : zwangsweise natürlich vorher releasen

00:49:00: Kai : müssen.

00:49:01: Caro: Ja sorry.

00:49:02: Kai : Da hat er es ja auch schon aufgezeigt, dass

00:49:04: Kai : es schon Studien gibt, die gesagt haben,

00:49:06: Kai : dass Entwickler die ChatGPT und Co benutzen,

00:49:08: Kai : um sich Code generieren zu lassen, in dem

00:49:10: Kai : ersten Anschein produktiver aussehen und

00:49:13: Kai : effizienter aussehen, aber im Nachgang bei

00:49:16: Kai : den Korrekturen an den Sachen und mit der

00:49:17: Kai : Wartung und Wartbarkeit des Codes die Zeit

00:49:19: Kai : dann wieder völlig ins Negative geht, und

00:49:21: Kai : man dann sagt, das hat uns überhaupt nichts

00:49:22: Kai : gebracht, dass wir das eingesetzt haben.

00:49:24: Kai : Also ich bin da sehr gespannt, in welche

00:49:25: Kai : Richtung das führt.

00:49:26: Kai : Ich glaube, als Bestandteil von solchen

00:49:28: Kai : Frameworks, über die wir es heute auch mit

00:49:29: Kai : dir gesprochen haben, wird es früher oder

00:49:31: Kai : später Einzug erhalten, natürlich dann nur

00:49:34: Kai : in einem ganz gewissen Scope.

00:49:36: Kai : Man kann jetzt nicht eine Anbindung an

00:49:37: Kai : ChatGPT grundsätzlich erwarten, von

00:49:40: Kai : jeglichem Tool, dass man das planer

00:49:42: Kai : hinschießt, weil man im Endeffekt niemals

00:49:43: Kai : wirklich fest predikten kann.

00:49:45: Kai : was kommt da raus, und wie ändert sich die

00:49:47: Kai : Antwort von diesem Bot mit Version zu

00:49:50: Kai : Version, von Tag zu Tag, von Woche zu Woche?

00:49:52: Kai : Es kann ja sein, dass ChatGPT im Laufe

00:49:54: Kai : eines Jahres dazulernt und eine Frage, die

00:49:56: Kai : ich heute stelle, in der nächsten Woche

00:49:57: Kai : ganz anders beantwortet wird.

00:49:59: Kai : und somit ist auch das, was ich an Nutzen

00:50:02: Kai : in meinem Tool mit dieser KI, mit dieser

00:50:05: Kai : Schnittstelle mir verspreche, ist völlig

00:50:07: Kai : unberechenbar.

00:50:08: Kai : Ich kann nicht in meinem Tool erwarten,

00:50:24: Kai : dass ich jetzt, wenn wir bei dem Beispiel

00:50:26: Kai : von gerade waren, meine Regel in fließendem

00:50:28: Kai : Englisch oder Deutsch reinformuliere in das

00:50:29: Kai : Tool und das übersetzt es für mich in

00:50:31: Kai : meinem System landet.

00:50:32: Kai : Und das ist das, wo mein Punkt nochmal ist,

00:50:34: Kai : dass man nicht planen, irgendwie sowas bei

00:50:35: Kai : sich einbauen kann und hoffen kann, dass es

00:50:37: Kai : immer so funktioniert, wie es ist, weil es

00:50:39: Kai : kann sein, dass es eine Woche später nicht

00:50:40: Kai : mehr so klappt.

00:50:41: Philipp Salvisberg: Ich denke, das ist das, was mich ein

00:50:44: Philipp Salvisberg: bisschen skeptisch macht in diesem Bereich,

00:50:46: Philipp Salvisberg: weil ich verstehe nicht so hundertprozentig,

00:50:48: Philipp Salvisberg: wie das geht.

00:50:49: Philipp Salvisberg: Ich habe eine grobe Ahnung davon, aber

00:50:55: Philipp Salvisberg: eigentlich habe ich keine Weil irgendwie

00:50:59: Philipp Salvisberg: sagen, die ich verstehe, so wie das

00:51:02: Philipp Salvisberg: grundsätzlich abläuft, aber doch nicht

00:51:06: Philipp Salvisberg: wirklich.

00:51:08: Philipp Salvisberg: Das gibt ein bisschen ein ungutes Gefühl,

00:51:10: Philipp Salvisberg: was hat einen Einfluss?

00:51:13: Philipp Salvisberg: Wie verändert sich das etc.

00:51:15: Philipp Salvisberg: Aber was ich schon auch glaube je enger du

00:51:18: Philipp Salvisberg: den Kontext machen kannst, desto eher ist

00:51:21: Philipp Salvisberg: es im Bereich, wo etwas Vernünftiges ist.

00:51:25: Philipp Salvisberg: Und wenn du das, was rauskommt, eigentlich

00:51:27: Philipp Salvisberg: immer nur als Vorschlag siehst für jemanden,

00:51:30: Philipp Salvisberg: der ein Domänenverständnis hat, für das,

00:51:31: Philipp Salvisberg: als Vorschlag siehst für jemanden, der ein

00:51:33: Philipp Salvisberg: Domänenverständnis hat für das, dann glaube

00:51:35: Philipp Salvisberg: ich, macht das wirklich Sinn und kann

00:51:37: Philipp Salvisberg: helfen, das besser zu machen.

00:51:38: Philipp Salvisberg: Auch wenn sich das ein bisschen verändert,

00:51:40: Philipp Salvisberg: ist vielleicht eine andere Antwort, aber

00:51:41: Philipp Salvisberg: auch eine gute Um noch eine Prediction

00:51:45: Philipp Salvisberg: einfach zu machen, die ihr das erste Mal

00:51:47: Philipp Salvisberg: bei Death on Tape gehört habt.

00:51:49: Kai : Jetzt bin ich gespannt.

00:51:52: Kai : Ich bringe immer gerne die Parallelen zu

00:51:54: Kai : anderen Dingen in diesem Ökosystem, wo ich

00:51:57: Kai : solche Sachen auch schon mal prediktet habe,

00:51:58: Kai : damals Vor 10, 15 Jahren, wo plötzlich die

00:52:02: Kai : ganzen Websites und Online-Shops und sowas

00:52:03: Kai : aufgeploppt sind, wo man seine Daten

00:52:05: Kai : eintragen musste.

00:52:06: Kai : Man hat ein Formular mit seinem Vornamen,

00:52:07: Kai : nachnamen, telefonnummer, adresse und

00:52:09: Kai : vielleicht sogar Kreditkartennummer

00:52:10: Kai : irgendwann.

00:52:11: Kai : Da war in meinem direkten Umfeld überall so

00:52:14: Kai : eine Skepsis da, dass man sogar teilweise,

00:52:16: Kai : wenn man irgendwo sowas bestellen wollte,

00:52:17: Kai : rumgefragt hat, ob irgendjemand da schon

00:52:19: Kai : mal seine Daten eingetragen hat, ob er das

00:52:21: Kai : für einen bestellen kann, weil alle sehr,

00:52:23: Kai : sehr vorsichtig mit ihren Daten geworden

00:52:24: Kai : sind Oder nicht geworden sind, sondern noch

00:52:27: Kai : waren.

00:52:31: Kai : Und dann so Eltern, freunde, eltern von

00:52:33: Kai : Freunden und so weiter, die waren alle sehr,

00:52:34: Kai : sehr skeptisch.

00:52:35: Kai : Und wenn man das im Laufe dieser Jahre

00:52:36: Kai : betrachtet hat, ist das so zur Normalität

00:52:37: Kai : geworden, dass nicht das Problem, wovor die

00:52:39: Kai : Leute früher Angst hatten, so ich weiß

00:52:40: Kai : nicht, was der mit meinen Daten macht.

00:52:41: Kai : Das ist doch etwas total Persönliches von

00:52:43: Kai : mir.

00:52:44: Kai : Wo speichert der die?

00:52:45: Kai : wofür nutzt der die?

00:52:46: Kai : was ist das?

00:52:48: Kai : Das Problem hat sich nicht geändert, aber

00:52:49: Kai : der Umgang der Menschen mit diesem Problem

00:52:51: Kai : hat sich geändert.

00:52:51: Kai : Die Leute sind viel freizügiger mit ihren

00:52:53: Kai : Daten.

00:52:54: Kai : Wenn die irgendeinen Online-Shop online

00:52:55: Kai : sehen, und der sieht einigermaßen kredibil

00:52:57: Kai : aus, dann gebe ich da meine Daten ein, weil

00:52:58: Kai : ich würde das Produkt mir kaufen.

00:53:00: Kai : Und das ist der Punkt, an den ich gerade

00:53:01: Kai : denken musste, als du gesagt hast mal

00:53:03: Kai : gucken, wo es die nächsten Jahre hinführt.

00:53:07: Kai : Ich bin noch sehr skeptisch, und ich nicht

00:53:09: Kai : genau weiß, was da passiert, kann ich mich

00:53:11: Kai : nicht darauf verlassen oder kann ich es

00:53:13: Kai : nicht so nutzen und einsetzen?

00:53:14: Kai : Da bin ich eher skeptisch.

00:53:15: Kai : Ich glaube das, und das ist die Prediction,

00:53:18: Kai : das wird mit diesen Diensten, mit der KI

00:53:19: Kai : und AI auch passieren, dass es so Einzug in

00:53:26: Kai : unser Leben erhalten wird in Zukunft

00:53:31: Kai : draußen hier bei der U-Bahn stehen und ein

00:53:33: Kai : Ticket beziehen wollen und das demnächst

00:53:36: Kai : alles mit fließender Sprache gegen einen

00:53:37: Kai : KI-Bildschirm machen können, dann stelle

00:53:40: Kai : ich mir vor, so ein kleiner Clippy, die

00:53:42: Kai : kleine Büronadel von Word 19 weiß ich nicht

00:53:45: Kai : was, aber Word 95, kann ich draufdrücken

00:53:48: Kai : und muss nicht mehr durch das Menü gehen,

00:53:49: Kai : sondern sagen, ich möchte gerne bis zum

00:53:50: Kai : Nürnberger Hauptbahnhof, und es kommt

00:53:51: Kai : automatisch ein Ticket aus dem Automaten.

00:53:53: Kai : In dem Moment, wo solche Anwendungsfälle

00:53:55: Kai : einmal komplett durch unsere Gesellschaft

00:53:56: Kai : durchgelaufen sind, wird das Vertrauen auf

00:53:58: Kai : KI sein, und wir werden viel weniger

00:54:00: Kai : hinterfragen, was da passiert, und werden

00:54:01: Kai : das viel mehr adaptieren in unserem Alltag.

00:54:04: Kai : So wenn ich einen Mic Drop machen könnte,

00:54:05: Kai : würde ich das tun.

00:54:06: Caro: Ich wollte auch würde sagen, das zweite

00:54:14: Caro: Thema bleibt tatsächlich keine Zeit mehr,

00:54:16: Caro: aber vielleicht können wir uns ja nochmal

00:54:17: Caro: auf der Connect, wenn wir uns dort wieder

00:54:19: Caro: sehen vielleicht nochmal zusammensetzen.

00:54:22: Kai : Sehr gut, Und dann als kleinen Disclaimer

00:54:24: Kai : noch dann wird die Caro bestimmt auch

00:54:25: Kai : wieder die Terminorganisation machen.

00:54:29: Kai : Das lassen wir für unsere Hörer mal offen,

00:54:32: Kai : was damit gemeint war.

00:54:33: Kai : Aber wir bedanken uns ganz, ganz herzlich

00:54:36: Kai : bei dir, dass du so geduldig warst mit uns.

00:54:38: Kai : Nein, es hat.

00:54:40: Philipp Salvisberg: Spaß gemacht.

00:54:40: Kai : Danke vielmals, und wir einmal in jeden

00:54:45: Kai : Slot deines Kalenders gehen durften.

00:54:46: Kai : Vielen Dank und auch Dank an unsere Hörer.

00:54:47: Caro: Danke, caro, wir hören uns dann in zwei

00:54:49: Caro: Wochen, bis dann, bis dann.

Neuer Kommentar

Dein Name oder Pseudonym (wird öffentlich angezeigt)
Mindestens 10 Zeichen
Durch das Abschicken des Formulars stimmst du zu, dass der Wert unter "Name oder Pseudonym" gespeichert wird und öffentlich angezeigt werden kann. Wir speichern keine IP-Adressen oder andere personenbezogene Daten. Die Nutzung deines echten Namens ist freiwillig.