AI Chronicles #2: Faster Builds
May 19, 2023
In this weekly livestream series, Ted M. Young and I build an AI-powered role-playing game using React, Spring Boot, and Nullables. And, of course, plenty of discussion about design, architecture, and effective programming practices.
Watch us live every Monday! For details, see the event page. For more episode recordings, see the episode archive.
“Testing Without Mocks” TrainingJun62023
I’m offering live online training for Nullables in four 3-hour sessions from June 6th to 15th. Register here.
To be notified about future “Testing Without Mocks” training courses, join the mailing list here (requires Google login).
For private training, contact me directly.
In this episode...
It’s a two-fer! In the first half, we look at the work James did on speeding up the front-end build, including a questionable choice to use a custom test framework. We debug a problem with the incremental build and end up with a nice, speedy build.
In the second half, we continue working on the
OpenAiClient wrapper. The code
POSTs to the Open AI service, but it doesn’t parse the responses. In order to implement that parsing, we modify
JsonHttpClient to return
POST responses and add the ability to configure those responses in our tests.
- A Confession (0:11)
- Buy vs. Build (12:42)
- Incremental Compilation (24:47)
- Sidebar: Why We Write Tests (45:26)
- Sidebar: What Pairing is Good For (48:37)
- End sidebar (51:08)
- Clean Up the Build (54:10)
- Failing the Build (58:32)
- Sidebar: Using Booleans (1:05:50)
- End sidebar (1:07:53)
- Compilation Helper (1:22:08)
- Bespoke Tooling (1:26:14)
- Back to
- Sidebar: TDD Reduces Stress (1:39:27)
- End sidebar (1:40:23)
- Reformatting and Merge Conflict (1:42:59)
- Configuring the POST Response (1:52:28)
- Refactor the
- Return Configured Values (2:02:35)
- Sidebar: Repeating Yourself (2:03:27)
- End sidebar (2:09:57)
- Fine-Tuning the
- Sidebar: Test Everything, or Just Enough? (2:24:56)
- End sidebar (2:27:01)
- Sidebar: When to Stop Pondering Design (2:33:31)
- End sidebar (2:35:10)
- Spring Complaints (2:36:03)
- Frameworks vs. Libraries (2:40:50)
- Microservices and Team Size (2:47:57)
- Debrief (2:50:40)
Visit the episode archive for more.