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:
- Blog: https://www.salvis.com/blog/
- Seine Firma : https://www.grisselbav.com/
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