Investigar se o GPT-4 tem a capacidade de gerar uma programação de conferência de um dia que siga várias restrições.
Aproveito os detalhes da programação da conferência VoxxedDays Zurich disponíveis ao público, incluindo as palestras aceitas.
? Publicou um artigo de acompanhamento com uma abordagem diferente (de trabalho).
Atualmente usamos o OptaPlanner para gerar o cronograma usando diferentes restrições. Mais detalhes sobre essa abordagem podem ser vistos nesta apresentação da Devoxx.
ALTAS RESTRIÇÕES:
RESTRIÇÕES MÉDIAS:
"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
Cria novos horários E TALKS que não foram definidos
Nesta abordagem, agrupei todas as palestras por faixa e pedi ao GPT por faixa que sugerisse uma ordem ideal para as palestras com base no significado semântico da palestra.
Além disso, também pedi para levar em consideração as seguintes restrições suaves:
A saída por faixa foi a seguinte:
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
Por faixa, a saída GPT4 sugerida foi a seguinte:
---------------------------------------------------
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
...
Por enquanto, peguei manualmente as palestras sugeridas e as copiei em um prompt GPT-4:
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
Pelo menos agora o GPT4 criou um cronograma seguindo a ordem das palestras por faixa.
No entanto, notei que a restrição "Não ter as mesmas faixas ao mesmo tempo" não foi atendida.
Parece que precisarei reforçar isso um pouco mais por meio de alguma "engenharia imediata" extra (se possível).
Converta as informações do cronograma em uma representação de matriz compacta. Mais fácil de jogar e menos fichas.
Então, vamos pegar as faixas e "classificar" os IDs das conversas:
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
Cada faixa tem seu próprio valor, então 10 = Práticas de Desenvolvimento, 20 = UI e UX, etc.
Multiplicamos a sequência do track id por 10.000 e a adicionamos ao 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
Também ordenamos primeiro as faixas com mais conversas, etc.
804945, 804931, 804929, 805456, 805261
104367, 105259, 101411, 104914
404918, 404505, 405464, 405487
204506, 204921, 203872
605251, 604947, 604521
304372
504515
704913
Aliás, a ordem dos talk IDs é baseada no fluxo educacional semântico mencionado acima.
O array json com o qual brincaremos agora tem a seguinte aparência
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]}
]
Usando o seguinte prompt GPT com um contexto secreto (por enquanto), obtemos o resultado esperado:
"Crie uma matriz 6x4 onde cada palestra é listada na ordem em que são fornecidas por coluna. Em cada linha da matriz, um ID de palestra não pode ser da mesma faixa."
Gerou o seguinte cronograma "perfeito"?
A abordagem explicada é uma estratégia totalmente aceitável para uma conferência de um dia, especialmente com a análise do “fluxo educacional” dos resumos das palestras. No entanto, dimensionar isso para vários dias (como Devoxx Bélgica) com restrições extras rígidas e flexíveis é um desafio que (por enquanto) só pode ser realizado com código adicional.
A ordem de palestra sugerida pela GPT (com base na análise semântica dos resumos de palestras) é um grande aprimoramento. Inserir isso no OptaPlanner nos dá o melhor dos dois mundos .
Tentei o mesmo prompt com o novo modelo OpenAI o1-mini, ainda sem sorte (13 de setembro de 24):
Abaixo está o cronograma da conferência organizado para garantir um ótimo fluxo educacional, progressão lógica baseada em resumos de palestras e adesão a todas as restrições especificadas.
Sala | ID de conversa | Título | Palestrante | Nível | Nome da faixa |
---|---|---|---|---|---|
Sala 2 | 1411 | Teste de unidade sua arquitetura Java com ArchUnit | Roland Weisleder | NOVATO | Práticas de Desenvolvimento |
Sala 3 | 4367 | Vamos falar sobre comportamento de software (BDD) | Katrina Rabow | NOVATO | Práticas de Desenvolvimento |
Quarto 7 | 3872 | O desenvolvimento full-stack está morto, viva o desenvolvimento full-stack! | Simão Martinelli | INTERMEDIÁRIO | UI e UX |
Quarto 8 | 4913 | Mantenha suas dependências sob controle | Marit van Dijk | NOVATO | Construir e implantar |
Sala | ID de conversa | Título | Palestrante | Nível | Nome da faixa |
---|---|---|---|---|---|
Quarto 2 | 4521 | Da ação do usuário à reação do framework: uma comparação dos conceitos de reatividade em Angular, React, Vue e Svelte | Jonas Bandi | INTERMEDIÁRIO | UI e UX |
Sala 3 | 4521* | Nota: Evitando sobreposição de trilhas. Este slot é preenchido por faixas exclusivas. | |||
Quarto 7 | 4914 | Monorepos - Os benefícios, desafios e importância do suporte de ferramentas | Juri Strumpflohner | NOVATO | Práticas de Desenvolvimento |
Quarto 8 | 5251 | Adoção empresarial sem servidor. Um relatório de experiência | Brilho Brilhante | NOVATO | Arquitetura |
*A vaga na Sala 3 permanece disponível ou pode ser atribuída uma sessão de intervalo/boas-vindas, se necessário.
Sala | ID de conversa | Título | Palestrante | Nível | Nome da faixa |
---|---|---|---|---|---|
Sala 2 | 4947 | Aspectos da arquitetura - desenvolvimento da arquitetura evolutiva | Urs Enzler | INTERMEDIÁRIO | Arquitetura |
Sala 3 | 4505 | Aplicativos Java incríveis com estruturas de microsserviços GraalVM e Java | Alina Yurenko | INTERMEDIÁRIO | Java do lado do servidor |
Sala 7 | 5259 | Respeite as estimativas | Jarek Ratajski | NOVATO | Práticas de Desenvolvimento |
Sala 8 | 4521* | Nota: Evitando sobreposição de trilhas. Atribuído já na Sala 2. |
*Ajuste a Sala 8 para garantir a exclusividade da faixa, possivelmente atribuindo uma faixa diferente, se disponível.
Sala | ID de conversa | Título | Palestrante | Nível | Nome da faixa |
---|---|---|---|---|---|
Sala 2 | 4515 | Developer Joy – Como grandes equipes realizam tarefas | Sven Peters | INTERMEDIÁRIO | Pessoas e Cultura |
Sala 3 | 5261 | Game of Loom: padrões de implementação e implicações de desempenho jogando com threads virtuais | Mário Fusco | AVANÇADO | Java |
Sala 7 | 4945 | Uma olhada na caixa de ferramentas de desempenho Java | Ana Maria Mihalceanu | NOVATO | Java |
Sala 8 | 4921 | Da ação do usuário à reação do framework: uma comparação dos conceitos de reatividade em Angular, React, Vue e Svelte | Jonas Bandi | INTERMEDIÁRIO | UI e UX |
Sala | ID de conversa | Título | Palestrante | Nível | Nome da faixa |
---|---|---|---|---|---|
Sala 2 | 4947* | Nota: Certifique-se de que não há sobreposição de trilhas. Atribua uma faixa exclusiva. | |||
Sala 3 | 5464 | Spring Modulith – Spring para o desenvolvedor arquitetonicamente curioso | Oliver Drotbohm | AVANÇADO | Java do lado do servidor |
Sala 7 | 4929 | Revisitando padrões de design após 20 | Edson Yanaga | INTERMEDIÁRIO | Java |
Sala 8 | 5251* | Nota: Certifique-se de que não há sobreposição de trilhas. Atribua uma faixa exclusiva. |