Untersuchung, ob GPT-4 in der Lage ist, einen eintägigen Konferenzplan zu erstellen, der verschiedenen Einschränkungen folgt.
Ich habe den öffentlich zugänglichen Konferenzplan der VoxxedDays Zürich inklusive der angenommenen Vorträge entnommen.
? Veröffentlichung eines Folgeartikels mit einem anderen (Arbeits-)Ansatz.
Wir verwenden derzeit OptaPlanner, um den Zeitplan unter Verwendung verschiedener Einschränkungen zu erstellen. Weitere Details zu diesem Ansatz finden Sie in dieser Devoxx-Präsentation.
HOHE EINSCHRÄNKUNGEN:
MITTLERE EINSCHRÄNKUNGEN:
"from hour";"to hour";"session type";"room name"
"10:35";"11:20";Conference;Room 2
"10:35";"11:20";Conference;Room 8
"10:35";"11:20";Conference;Room 7
"10:35";"11:20";Conference;Room 3
"11:30";"12:15";Conference;Room 3
"11:30";"12:15";Conference;Room 8
"11:30";"12:15";Conference;Room 7
"11:30";"12:15";Conference;Room 2
"13:25";"14:10";Conference;Room 8
"13:25";"14:10";Conference;Room 7
"13:25";"14:10";Conference;Room 3
"13:25";"14:10";Conference;Room 2
"14:20";"15:05";Conference;Room 7
"14:20";"15:05";Conference;Room 8
"14:20";"15:05";Conference;Room 2
"14:20";"15:05";Conference;Room 3
"15:25";"16:10";Conference;Room 3
"15:25";"16:10";Conference;Room 2
"15:25";"16:10";Conference;Room 8
"15:25";"16:10";Conference;Room 7
"16:20";"17:05";Conference;Room 3
"16:20";"17:05";Conference;Room 2
"16:20";"17:05";Conference;Room 8
"16:20";"17:05";Conference;Room 7
"Talk ID";"Talk Title";"Audience Level";"Talk Sumamry";"Track Name";"Speaker Availability days";"Available from";"Available to";"Speaker names"
1411;Unit Test Your Java Architecture With ArchUnit;BEGINNER;ArchUnit is a library in the Java ecosystem that can be used to test architecture within unit tests to help structure code and prevent an unmaintainable code base. jMolecules can also be used to model architectural concepts within the code.;Development Practices;;;;Roland Weisleder
3872;Full-stack development is dead, long live full-stack development!;INTERMEDIATE;Java developers can develop web applications quickly by using frameworks such as Thymeleaf, Vaadin, and Hilla.;UI & UX;;;;Simon Martinelli
4367;Let's talk about software behaviour (BDD);BEGINNER;This session teaches you about Behaviour Driven Development and how it can be useful in software development.;Development Practices;;;;Katrin Rabow
4372;Wasmer Things: An Upside-Down Guide to WebAssembly;INTERMEDIATE;This talk is for all developers interested in learning more about WebAssembly from a low-level perspective. We will explore the WebAssembly specification, how it plugs into your own development ecosystem, and how it is similar to other compilation targets. We will also discuss why many projects are making Wasm their preferred runtime environment.;Mind the Geek;;;;Edoardo Vacchi
4505;Awesome Java applications with GraalVM and Java microservices frameworks;INTERMEDIATE;This session will explore microservices frameworks for Java applications and how to configure them for use with GraalVM Native Image for fast startup and low resource usage.;Server Side Java;;;;Alina Yurenko
4506;Resumability in the next generation frontend framework With O(1) loading time;BEGINNER;"Qwik is a JavaScript framework that uses a new render paradigm called resumability to serialize JavaScript apps into HTML without the need for the hydration technique used in meta-frameworks like Next.js. It enables us to build ""resumable apps"" with near-zero JavaScript and fine-grained lazy loading. It is not the world's first O(1) JavaScript framework. This article covers what Qwik is, how it compares to React and Angular, how to make";UI & UX;;;;Ruby Jane Cabagnot
4515;Developer Joy – How great teams get s%*t done;INTERMEDIATE;In this talk, Sven will discuss how great software teams measure and improve their developer productivity, coordinate work across teams, run microservice teams, and create a healthy and joyful engineering culture. He will share practical advice based on his experience with Atlassian and other tech companies on how to build and run a distributed architecture in the cloud, ensure observability, and keep a healthy balance between dev speed and code quality.;People & Culture;;;;Sven Peters
4521;The monolith must die! - How to convince managers;ADVANCED;We can use the DORA metrics by Google to help us evaluate when it is worth investing in a move from a monolith to microservices. We can also discuss the business view and use it as a basis for the next round of management discussions.;Architecture;;;;Anja Kunkel
4913;Keep your dependencies in check;BEGINNER;We need to stay on top of updating our applications, but doing so can take a lot of time. Luckily, there are plenty of tools that can help, from package managers to bots that can create changes on our repositories. We should evaluate these options to find the best solution for our particular situation.;Build & Deploy;;;;Marit van Dijk
4914;Monorepos - The Benefits, Challenges and Importance of Tooling Support;BEGINNER;This talk will provide clarity about monorepos, why you might want to use one, and how to set them up for success in the long run. We'll discuss what monorepos are, how they differ from other code organization approaches, and the benefits and challenges that come with using them. We'll also explore the tooling available to help create and maintain healthy monorepos.;Development Practices;;;;Juri Strumpflohner
4918;Unleash the power of your applications with Micronaut and GraalVM;BEGINNER;In this talk, Micronaut committer Álvaro Sánchez-Mariscal will demonstrate how to quickly build optimised microservices with Micronaut and GraalVM Native Image. Attendees will learn how the combination of GraalVM Native Image and Micronaut can lead to efficient and highly performant applications that can be deployed to environments like Kubernetes or serverless platforms. The talk will include a live coding demo of an application using Micronaut Data;Server Side Java;;;;Álvaro Sánchez-Mariscal
4921;From User Action to Framework Reaction: A comparison of the Reactivity Concepts in Angular, React, Vue and Svelte;INTERMEDIATE;This talk compares the different approaches Angular, React, Vue and Svelte use to implement reactivity and how this affects application programming and architecture. Live coding demos will be used to demonstrate the differences between the frameworks.;UI & UX;;;;Jonas Bandi
4929;Revisiting Design Patterns after 20;INTERMEDIATE;In this talk, attendees will learn how to use the latest improvements in Java 20 to refactor code using legacy implementations of design patterns such as Strategy, Template Method, Visitor, Command, Decorator, Builder, and more. Live demonstrations will showcase how lambdas, records, switch expressions, and other modern features can improve code design.;Java;;;;Edson Yanaga
4931;Sailing Modern Java;INTERMEDIATE;This talk will cover new features in recent Java versions, such as Pattern Matching for switch, Record Patterns, Virtual Threads, Calling native stuff, Simple Web server, what's gone and what will be gone.;Java;;;;Piotr Przybyl
4945;A Glance At The Java Performance Toolbox;BEGINNER;This talk covers the use of JDK tools to analyze and improve the performance of Java applications. It explains the different functional areas of visibility needed in Java and how the JDK tools can provide that information.;Java;;;;Ana-Maria Mihalceanu
4947;Architecture aspects - evolutionary architecture development;INTERMEDIATE;When designing new software, it is important to consider 23 architectural aspects such as persistence, communication, translations, archiving, scaling, security, exception handling, etc. An evolutionary approach can be taken to tackle these aspects incrementally and learn more about the problem to be solved, allowing us to make an optimal decision as late as possible.;Architecture;;;;Urs Enzler
5251;Enterprise Serverless Adoption. An Experience Report;BEGINNER;This talk will discuss the unique serverless adoption story at the LEGO Group, including an overview of the evolution of serverless adoption, tips on growing serverless teams, best practices, and strategies to achieve sustainability with serverless.;Architecture;;;;Sheen Brisals
5259;Respect estimates;BEGINNER;"In this talk, Donald Knuth's statement, ""Software is hard,"" will be discussed and examples of practices that are often followed, even though they are no longer needed, will be presented. These waste and cults include estimates, tests, agile meetings, and architecture of systems.";Development Practices;;;;Jarek Ratajski
5261;Game of Loom: implementation patterns and performance implications playing with virtual threads;ADVANCED;Virtual threads are a potentially great game changer in the Java ecosystem, but their benefits and costs need to be carefully weighed before being implemented in a production system.;Java;;;;Mario Fusco
5268;What We've Learned from Scanning 10K+ Kubernetes Clusters;BEGINNER;We analyzed Kubescape data to find the most common misconfigurations and vulnerabilities in Kubernetes deployments. We will explain the implications of these findings and provide simple tips on how to reduce your risk.;Security;;;;Rotem Refael
5298;Why Building Your Ship (Application) with Raw Materials is a Bad Idea!;BEGINNER;This session will discuss how to create a secure and compliant software bill of materials (SBOM) that complies with regulations and best practices, even when the source of certain code cannot be verified. It will also cover what applications are not able to use open source code, and what companies are doing to circumnavigate these tricky waters.;Security;;;;Jamie Coleman
5456;Java Next - From Amber to Loom, from Panama to Valhalla;ADVANCED;This talk is about the four big Java projects: Amber, Panama, Loom, and Valhalla. It will discuss how each project will improve the language and how they will shape Java in the years to come.;Java;;;;Nicolai Parlog
5464;Spring Modulith – Spring for the Architecturally Curious Developer;ADVANCED;This talk discusses how Spring architects can use libraries such as jMolecules and Moduliths to improve the structuring of their code and make it more maintainable.;Server Side Java;;;;Oliver Drotbohm
5487;Spring Security: The Good Parts;INTERMEDIATE;This talk will teach you how to use Spring Security to secure your applications. You will learn about the library's architecture and how to use common abstraction patterns to make your code easier to read and maintain. You will also learn about the latest features in Spring Security 6.0.;Server Side Java;;;;Daniel Garnier-Moiroux
The conference schedule in CSV format:
"from hour";"to hour";"session type";"room name"
"10:35";"11:20";Conference;Room 2
"10:35";"11:20";Conference;Room 8
"10:35";"11:20";Conference;Room 7
"10:35";"11:20";Conference;Room 3
"11:30";"12:15";Conference;Room 3
"11:30";"12:15";Conference;Room 8
"11:30";"12:15";Conference;Room 7
"11:30";"12:15";Conference;Room 2
"13:25";"14:10";Conference;Room 8
"13:25";"14:10";Conference;Room 7
"13:25";"14:10";Conference;Room 3
"13:25";"14:10";Conference;Room 2
"14:20";"15:05";Conference;Room 7
"14:20";"15:05";Conference;Room 8
"14:20";"15:05";Conference;Room 2
"14:20";"15:05";Conference;Room 3
"15:25";"16:10";Conference;Room 3
"15:25";"16:10";Conference;Room 2
"15:25";"16:10";Conference;Room 8
"15:25";"16:10";Conference;Room 7
"16:20";"17:05";Conference;Room 3
"16:20";"17:05";Conference;Room 2
"16:20";"17:05";Conference;Room 8
"16:20";"17:05";Conference;Room 7
The talks in CSV format:
"Talk ID";"Talk Title";"Audience Level";"Talk Sumamry";"Track Name";"Speaker Availability days";"Available from";"Available to";"Speaker names"
1411;Unit Test Your Java Architecture With ArchUnit;BEGINNER;ArchUnit is a library in the Java ecosystem that can be used to test architecture within unit tests to help structure code and prevent an unmaintainable code base. jMolecules can also be used to model architectural concepts within the code.;Development Practices;;;;Roland Weisleder
3872;Full-stack development is dead, long live full-stack development!;INTERMEDIATE;Java developers can develop web applications quickly by using frameworks such as Thymeleaf, Vaadin, and Hilla.;UI & UX;;;;Simon Martinelli
4367;Let's talk about software behaviour (BDD);BEGINNER;This session teaches you about Behaviour Driven Development and how it can be useful in software development.;Development Practices;;;;Katrin Rabow
4372;Wasmer Things: An Upside-Down Guide to WebAssembly;INTERMEDIATE;This talk is for all developers interested in learning more about WebAssembly from a low-level perspective. We will explore the WebAssembly specification, how it plugs into your own development ecosystem, and how it is similar to other compilation targets. We will also discuss why many projects are making Wasm their preferred runtime environment.;Mind the Geek;;;;Edoardo Vacchi
4505;Awesome Java applications with GraalVM and Java microservices frameworks;INTERMEDIATE;This session will explore microservices frameworks for Java applications and how to configure them for use with GraalVM Native Image for fast startup and low resource usage.;Server Side Java;;;;Alina Yurenko
4506;Resumability in the next generation frontend framework With O(1) loading time;BEGINNER;"Qwik is a JavaScript framework that uses a new render paradigm called resumability to serialize JavaScript apps into HTML without the need for the hydration technique used in meta-frameworks like Next.js. It enables us to build ""resumable apps"" with near-zero JavaScript and fine-grained lazy loading. It is not the world's first O(1) JavaScript framework. This article covers what Qwik is, how it compares to React and Angular, how to make";UI & UX;;;;Ruby Jane Cabagnot
4515;Developer Joy – How great teams get s%*t done;INTERMEDIATE;In this talk, Sven will discuss how great software teams measure and improve their developer productivity, coordinate work across teams, run microservice teams, and create a healthy and joyful engineering culture. He will share practical advice based on his experience with Atlassian and other tech companies on how to build and run a distributed architecture in the cloud, ensure observability, and keep a healthy balance between dev speed and code quality.;People & Culture;;;;Sven Peters
4521;The monolith must die! - How to convince managers;ADVANCED;We can use the DORA metrics by Google to help us evaluate when it is worth investing in a move from a monolith to microservices. We can also discuss the business view and use it as a basis for the next round of management discussions.;Architecture;;;;Anja Kunkel
4913;Keep your dependencies in check;BEGINNER;We need to stay on top of updating our applications, but doing so can take a lot of time. Luckily, there are plenty of tools that can help, from package managers to bots that can create changes on our repositories. We should evaluate these options to find the best solution for our particular situation.;Build & Deploy;;;;Marit van Dijk
4914;Monorepos - The Benefits, Challenges and Importance of Tooling Support;BEGINNER;This talk will provide clarity about monorepos, why you might want to use one, and how to set them up for success in the long run. We'll discuss what monorepos are, how they differ from other code organization approaches, and the benefits and challenges that come with using them. We'll also explore the tooling available to help create and maintain healthy monorepos.;Development Practices;;;;Juri Strumpflohner
4918;Unleash the power of your applications with Micronaut and GraalVM;BEGINNER;In this talk, Micronaut committer Álvaro Sánchez-Mariscal will demonstrate how to quickly build optimised microservices with Micronaut and GraalVM Native Image. Attendees will learn how the combination of GraalVM Native Image and Micronaut can lead to efficient and highly performant applications that can be deployed to environments like Kubernetes or serverless platforms. The talk will include a live coding demo of an application using Micronaut Data;Server Side Java;;;;Álvaro Sánchez-Mariscal
4921;From User Action to Framework Reaction: A comparison of the Reactivity Concepts in Angular, React, Vue and Svelte;INTERMEDIATE;This talk compares the different approaches Angular, React, Vue and Svelte use to implement reactivity and how this affects application programming and architecture. Live coding demos will be used to demonstrate the differences between the frameworks.;UI & UX;;;;Jonas Bandi
4929;Revisiting Design Patterns after 20;INTERMEDIATE;In this talk, attendees will learn how to use the latest improvements in Java 20 to refactor code using legacy implementations of design patterns such as Strategy, Template Method, Visitor, Command, Decorator, Builder, and more. Live demonstrations will showcase how lambdas, records, switch expressions, and other modern features can improve code design.;Java;;;;Edson Yanaga
4931;Sailing Modern Java;INTERMEDIATE;This talk will cover new features in recent Java versions, such as Pattern Matching for switch, Record Patterns, Virtual Threads, Calling native stuff, Simple Web server, what's gone and what will be gone.;Java;;;;Piotr Przybyl
4945;A Glance At The Java Performance Toolbox;BEGINNER;This talk covers the use of JDK tools to analyze and improve the performance of Java applications. It explains the different functional areas of visibility needed in Java and how the JDK tools can provide that information.;Java;;;;Ana-Maria Mihalceanu
4947;Architecture aspects - evolutionary architecture development;INTERMEDIATE;When designing new software, it is important to consider 23 architectural aspects such as persistence, communication, translations, archiving, scaling, security, exception handling, etc. An evolutionary approach can be taken to tackle these aspects incrementally and learn more about the problem to be solved, allowing us to make an optimal decision as late as possible.;Architecture;;;;Urs Enzler
5251;Enterprise Serverless Adoption. An Experience Report;BEGINNER;This talk will discuss the unique serverless adoption story at the LEGO Group, including an overview of the evolution of serverless adoption, tips on growing serverless teams, best practices, and strategies to achieve sustainability with serverless.;Architecture;;;;Sheen Brisals
5259;Respect estimates;BEGINNER;"In this talk, Donald Knuth's statement, ""Software is hard,"" will be discussed and examples of practices that are often followed, even though they are no longer needed, will be presented. These waste and cults include estimates, tests, agile meetings, and architecture of systems.";Development Practices;;;;Jarek Ratajski
5261;Game of Loom: implementation patterns and performance implications playing with virtual threads;ADVANCED;Virtual threads are a potentially great game changer in the Java ecosystem, but their benefits and costs need to be carefully weighed before being implemented in a production system.;Java;;;;Mario Fusco
5268;What We've Learned from Scanning 10K+ Kubernetes Clusters;BEGINNER;We analyzed Kubescape data to find the most common misconfigurations and vulnerabilities in Kubernetes deployments. We will explain the implications of these findings and provide simple tips on how to reduce your risk.;Security;;;;Rotem Refael
5298;Why Building Your Ship (Application) with Raw Materials is a Bad Idea!;BEGINNER;This session will discuss how to create a secure and compliant software bill of materials (SBOM) that complies with regulations and best practices, even when the source of certain code cannot be verified. It will also cover what applications are not able to use open source code, and what companies are doing to circumnavigate these tricky waters.;Security;;;;Jamie Coleman
5456;Java Next - From Amber to Loom, from Panama to Valhalla;ADVANCED;This talk is about the four big Java projects: Amber, Panama, Loom, and Valhalla. It will discuss how each project will improve the language and how they will shape Java in the years to come.;Java;;;;Nicolai Parlog
5464;Spring Modulith – Spring for the Architecturally Curious Developer;ADVANCED;This talk discusses how Spring architects can use libraries such as jMolecules and Moduliths to improve the structuring of their code and make it more maintainable.;Server Side Java;;;;Oliver Drotbohm
5487;Spring Security: The Good Parts;INTERMEDIATE;This talk will teach you how to use Spring Security to secure your applications. You will learn about the library's architecture and how to use common abstraction patterns to make your code easier to read and maintain. You will also learn about the latest features in Spring Security 6.0.;Server Side Java;;;;Daniel Garnier-Moiroux
Create me a conference schedule with following constraints:
1. HIGH CONSTRAINT: Talks have great educational flow
2. HIGH CONSTRAINT: Use the talk summary to decide which talks should follow each other
3. HIGH CONSTRAINT: Don't have the same tracks at the same time.
4. HIGH CONSTRAINT: A speaker can't speak at different rooms during the same time.
5. List the talk id, from/to schedule time, room name, title, speaker names, level and track name
6. Only use the listed talks!
7. Use markdown to list the generated schedule
Erstellt neue Terminslots UND TALKS, die nicht definiert wurden
Bei diesem Ansatz habe ich alle Vorträge pro Titel gruppiert und GPT pro Titel gebeten, eine optimale Reihenfolge für die Vorträge basierend auf der semantischen Bedeutung des Vortrags vorzuschlagen.
Darüber hinaus habe ich darum gebeten, die folgenden weichen Einschränkungen zu berücksichtigen:
Die Ausgabe pro Spur war wie folgt:
Development Practices: 4367, 5259, 1411, 4914
UI & UX: 4506, 4921, 3872
Mind the Geek: 4372
Server Side Java: 4918, 4505, 5464, 5487
People & Culture: 4515
Architecture: 5251, 4947, 4521
Build & Deploy: 4913
Java: 4945, 4931, 4929, 5456, 5261
Security: 5298, 5268
Pro Titel war die empfohlene GPT4-Ausgabe wie folgt:
---------------------------------------------------
Development Practices :
Based on the factors mentioned, here is the suggested order for the talks:
1. "Let's talk about software behaviour (BDD)" (id: 4367) - This talk is a good starting point as it covers a beginner-level topic and introduces a useful concept (BDD) that can be applied in software development.
2. "Respect estimates" (id: 5259) - This talk builds on the previous one by discussing some of the common practices in software development and how they can be improved. It is still at a beginner level and provides some practical advice.
3. "Unit Test Your Java Architecture With ArchUnit" (id: 1411) - This talk introduces a more technical topic (unit testing) and is relevant to the development practices track. It also builds on the previous talk by emphasizing the importance of good testing practices.
4. "Monorepos - The Benefits, Challenges and Importance of Tooling Support" (id: 4914) - This talk is also relevant to the development practices track and introduces a more advanced topic (monorepos). It builds on the previous talk by discussing some of the challenges of managing large codebases and how monorepos can help.
The suggested order is: 4367, 5259, 1411, 4914
Therefore, the comma delimited list of talk ids is: 4367,5259,1411,4914
...
Vorerst habe ich die vorgeschlagenen Vorträge manuell übernommen und in eine GPT-4-Eingabeaufforderung kopiert:
Create me a conference schedule with following constraints:
1. HIGH CONSTRAINT: Respect the order of the talk ids. First id needs to be scheduled first etc.
2. HIGH CONSTRAINT: Don't have the same tracks at the same time.
3. List the talk id, from/to schedule time, room name, track name
4. Only use the listed talks!
5. Use markdown to list the generated schedule
The schedule to populate is :
"from hour";"to hour";"room name"
"10:35";"11:20";Room 2
"10:35";"11:20";Room 8
"10:35";"11:20";Room 7
"10:35";"11:20";Room 3
"11:30";"12:15";Room 3
"11:30";"12:15";Room 8
"11:30";"12:15";Room 7
"11:30";"12:15";Room 2
"13:25";"14:10";Room 8
"13:25";"14:10";Room 7
"13:25";"14:10";Room 3
"13:25";"14:10";Room 2
"14:20";"15:05";Room 7
"14:20";"15:05";Room 8
"14:20";"15:05";Room 2
"14:20";"15:05";Room 3
"15:25";"16:10";Room 3
"15:25";"16:10";Room 2
"15:25";"16:10";Room 8
"15:25";"16:10";Room 7
"16:20";"17:05";Room 3
"16:20";"17:05";Room 2
"16:20";"17:05";Room 8
"16:20";"17:05";Room 7
The ordered talk ids per track:
1. Development Practices: 4367, 5259, 1411, 4914
2. UI & UX: 4506, 4921, 3872
3. Mind the Geek: 4372
4. Server Side Java: 4918, 4505, 5464, 5487
5. People & Culture: 4515
6. Architecture: 5251, 4947, 4521
7. Build & Deploy: 4913
8. Java: 4945, 4931, 4929, 5456, 5261
9. Security: 5298, 5268
Zumindest hat GPT4 jetzt einen Zeitplan erstellt, der der Reihenfolge der Vorträge pro Titel folgt.
Allerdings ist mir aufgefallen, dass die Einschränkung „Nicht dieselben Titel gleichzeitig haben“ nicht erfüllt wurde.
Es sieht so aus, als müsste ich dies durch zusätzliches „promptes Engineering“ (wenn möglich) noch etwas durchsetzen.
Konvertieren Sie die Zeitplaninformationen in eine kompakte Matrixdarstellung. Einfacher zu spielen und weniger Token.
Nehmen wir also die Tracks und „sortierten“ Talk-IDs:
1. Development Practices: 4367, 5259, 1411, 4914
2. UI & UX: 4506, 4921, 3872
3. Mind the Geek: 4372
4. Server Side Java: 4918, 4505, 5464, 5487
5. People & Culture: 4515
6. Architecture: 5251, 4947, 4521
7. Build & Deploy: 4913
8. Java: 4945, 4931, 4929, 5456, 5261
9. Security: 5298, 5268
Jeder Track hat seinen eigenen Wert, also 10 = Entwicklungspraktiken, 20 = UI & UX usw.
Wir multiplizieren die Titel-ID-Sequenz mit 10.000 und addieren sie zur Talk-ID.
104367, 105259, 101411, 104914
204506, 204921, 203872
304372
404918, 404505, 405464, 405487
504515
605251, 604947, 604521
704913
804945, 804931, 804929, 805456, 805261
905298, 905268
Außerdem ordnen wir die Titel mit den meisten Vorträgen zuerst usw.
804945, 804931, 804929, 805456, 805261
104367, 105259, 101411, 104914
404918, 404505, 405464, 405487
204506, 204921, 203872
605251, 604947, 604521
304372
504515
704913
Übrigens basiert die Reihenfolge der Talk-IDs auf dem oben erwähnten semantischen Bildungsfluss.
Das JSON-Array, mit dem wir jetzt spielen, sieht wie folgt aus
sortedTalks = [
{'sortedTalks': [804945, 804931, 804929, 805456, 805261]},
{'sortedTalks' : [104367, 105259, 101411, 104914]},
{'sortedTalks' : [404918, 404505, 405464, 405487]},
{'sortedTalks' : [204506, 204921, 203872]},
{'sortedTalks' : [605251, 604947, 604521]},
{'sortedTalks' : [905298, 905268]},
{'sortedTalks' : [304372]},
{'sortedTalks' : [504515]},
{'sortedTalks' : [704913]}
]
Wenn wir die folgende GPT-Eingabeaufforderung mit einem geheimen Kontext (vorerst) verwenden, erhalten wir das erwartete Ergebnis:
„Erstellen Sie eine 6x4-Matrix, in der jeder Vortrag in der Reihenfolge aufgeführt ist, in der er pro Spalte bereitgestellt wird. In jeder Matrixzeile darf eine Vortrags-ID nicht aus derselben Spur stammen.“
Den folgenden „perfekten“ Zeitplan erstellt?
Der erläuterte Ansatz ist eine völlig akzeptable Strategie für eine eintägige Konferenz, insbesondere mit der „Bildungsfluss“-Analyse der Vortragszusammenfassungen. Allerdings ist die Skalierung auf mehrere Tage (wie bei Devoxx Belgium) mit zusätzlichen harten und weichen Einschränkungen eine Herausforderung, die (vorerst) nur mit zusätzlichem Code bewältigt werden kann.
Die von GPT vorgeschlagene Vortragsreihenfolge (basierend auf der semantischen Analyse von Vortragszusammenfassungen) ist eine große Verbesserung. Wenn wir dies in OptaPlanner einspeisen, erhalten wir das Beste aus beiden Welten .
Habe die gleiche Eingabeaufforderung mit dem brandneuen OpenAI o1-mini-Modell versucht, immer noch kein Glück (13. September 2024):
Nachfolgend finden Sie den Konferenzplan, der so zusammengestellt ist, dass ein guter Bildungsfluss, ein logischer Ablauf auf der Grundlage von Vortragszusammenfassungen und die Einhaltung aller festgelegten Einschränkungen gewährleistet sind.
Zimmer | Talk-ID | Titel | Lautsprecher | Ebene | Titelname |
---|---|---|---|---|---|
Raum 2 | 1411 | Unit-Testen Sie Ihre Java-Architektur mit ArchUnit | Roland Weisleder | ANFÄNGER | Entwicklungspraktiken |
Raum 3 | 4367 | Sprechen wir über Softwareverhalten (BDD) | Katrin Rabow | ANFÄNGER | Entwicklungspraktiken |
Raum 7 | 3872 | Full-Stack-Entwicklung ist tot, es lebe Full-Stack-Entwicklung! | Simon Martinelli | DAZWISCHENLIEGEND | Benutzeroberfläche und UX |
Raum 8 | 4913 | Halten Sie Ihre Abhängigkeiten unter Kontrolle | Marit van Dijk | ANFÄNGER | Erstellen und bereitstellen |
Zimmer | Talk-ID | Titel | Lautsprecher | Ebene | Titelname |
---|---|---|---|---|---|
Raum 2 | 4521 | Von der Benutzeraktion zur Framework-Reaktion: Ein Vergleich der Reaktivitätskonzepte in Angular, React, Vue und Svelte | Jonas Bandi | DAZWISCHENLIEGEND | Benutzeroberfläche und UX |
Raum 3 | 4521* | Hinweis: Spurüberlappungen vermeiden. Dieser Slot ist mit einzigartigen Tracks gefüllt. | |||
Raum 7 | 4914 | Monorepos – Die Vorteile, Herausforderungen und Bedeutung der Werkzeugunterstützung | Juri Strumpflohner | ANFÄNGER | Entwicklungspraktiken |
Raum 8 | 5251 | Serverlose Einführung in Unternehmen. Ein Erfahrungsbericht | Glanzbrisals | ANFÄNGER | Architektur |
*Der Platz für Raum 3 bleibt frei oder kann bei Bedarf mit einer Pause/Begrüßungssitzung belegt werden.
Zimmer | Talk-ID | Titel | Lautsprecher | Ebene | Titelname |
---|---|---|---|---|---|
Raum 2 | 4947 | Architekturaspekte – evolutionäre Architekturentwicklung | Urs Enzler | DAZWISCHENLIEGEND | Architektur |
Raum 3 | 4505 | Fantastische Java-Anwendungen mit GraalVM und Java-Microservices-Frameworks | Alina Jurenko | DAZWISCHENLIEGEND | Serverseitiges Java |
Raum 7 | 5259 | Schätzungen respektieren | Jarek Ratajski | ANFÄNGER | Entwicklungspraktiken |
Raum 8 | 4521* | Hinweis: Spurüberlappungen vermeiden. Bereits in Raum 2 zugewiesen. |
*Passen Sie Raum 8 an, um die Einzigartigkeit des Tracks sicherzustellen, und weisen Sie ggf. einen anderen Track zu, falls verfügbar.
Zimmer | Talk-ID | Titel | Lautsprecher | Ebene | Titelname |
---|---|---|---|---|---|
Raum 2 | 4515 | Developer Joy – Wie großartige Teams Scheiße schaffen | Sven Peters | DAZWISCHENLIEGEND | Menschen & Kultur |
Raum 3 | 5261 | Game of Loom: Implementierungsmuster und Auswirkungen auf die Leistung beim Spielen mit virtuellen Threads | Mario Fusco | FORTSCHRITTLICH | Java |
Raum 7 | 4945 | Ein Blick auf die Java Performance Toolbox | Ana-Maria Mihalceanu | ANFÄNGER | Java |
Raum 8 | 4921 | Von der Benutzeraktion zur Framework-Reaktion: Ein Vergleich der Reaktivitätskonzepte in Angular, React, Vue und Svelte | Jonas Bandi | DAZWISCHENLIEGEND | Benutzeroberfläche und UX |
Zimmer | Talk-ID | Titel | Lautsprecher | Ebene | Titelname |
---|---|---|---|---|---|
Raum 2 | 4947* | Hinweis: Stellen Sie sicher, dass sich die Gleise nicht überlappen. Weisen Sie eine eindeutige Spur zu. | |||
Raum 3 | 5464 | Spring Modulith – Frühling für den architektonisch neugierigen Entwickler | Oliver Drotbohm | FORTSCHRITTLICH | Serverseitiges Java |
Raum 7 | 4929 | Überarbeitung von Designmustern nach 20 | Edson Yanaga | DAZWISCHENLIEGEND | Java |
Raum 8 | 5251* | Hinweis: Stellen Sie sicher, dass sich die Gleise nicht überlappen. Weisen Sie eine eindeutige Spur zu. |