Step-by-Step Directory Management for Live Coding Presentations
Effective live coding presentation techniques with IntelliJ IDEA.
1Challenges of Live Coding Presentations
Using traditional git commits for live coding presentations is cumbersome. Even small file changes require rewriting history, disrupting the presentation flow. A smoother solution is needed for participants to follow the step-by-step progress.
2Directory-Based Solution Instead of Git
A simple solution was developed using numbered subdirectories for each step. This allows easy navigation between steps during the presentation. The directory structure eliminates file conflicts and history rewriting issues.
3Core Principles for Step Management
The solution has three core principles: Manual transition between steps, easy refactoring during presentation, and invisibility of the mechanism to viewers. These principles aim to provide flexibility without disrupting the presentation flow.
4IntelliJ IDEA Integration
Instead of writing a custom IDE plugin, IntelliJ's external tools support was utilized. Assigning a shortcut to the command-line tool enabled one-key step changes during presentation, keeping the mechanism completely in the background.
5Directory Structure and Logic
Each step's files are stored in numbered subdirectories under .steps directory. The .step.x file in the main directory indicates the current step. When the tool runs, it copies the relevant step's files to the working directory.
6Tool Developed with Kotlin/Native
The 50-line Kotlin/Native tool essentially performs file copying. With 'next', 'prev' and 'reset' commands, you can navigate between steps. The step-back feature proved invaluable during presentation preparation.
7Ideal Solution for Live Coding Presentations
This method is ideal for live presentations involving coding from scratch. It provides flexibility for the presenter while offering viewers an uninterrupted experience. Its simple structure and IDE integration make it adaptable to any coding presentation.
Original article: Jake Wharton — Canlı Kodlama Sunumları için Adım Adım Dizin Yönetimi