Jonathan Schneider, a Java refactoring entrepreneur with a background in self-taught C++ and a U.S. Army officer, discusses challenges in Java version migration and automated refactoring at Netflix. He shares insights on founding OpenRewrite and Moderne for enterprise refactoring, emphasizing the importance of maintaining code formatting and type attribution. The podcast also explores potential integrations with language models for code optimization.
OpenRewrite offers automated refactoring and code migration using a visitor pattern on an enriched AST.
Micrometer provides dimensional metrics for canary analysis, evolved from Spinnaker and influenced by Spectator.
Modarina's enterprise tier serializes LST to disk for scalable refactorings and code optimization, aligning with business strategy.
Deep dives
Open Rewrite: A Maven and Gradle Plugin for Code Refactoring and Standards Formatting
Open Rewrite is a Maven and Gradle plugin that offers extensive repository of refactorings, standards formatting, and replacements based on the visitor pattern. Users can write their own refactorings and configure them as styles or recipes. The plugin provides a seamless integration with Maven, allowing users to customize how they run rewrite functions.
Micrometer and Open Rewrite
Micrometer is a metrics instrumentation project that evolved from Spinnaker and was influenced by Netflix's Spectator. Micrometer is designed to provide dimensional metrics for automated canary analysis and enhances visibility into metrics instrumentation. The two projects, Micrometer and Open Rewrite, have distinct features and applications in the software development ecosystem.
Modarina: Augmenting Code Optimization and Refactorings
Modarina provides enterprise-level capabilities by serializing the LST to disk and processing refactorings at scale. This approach allows for impact analysis across hundreds of millions of lines of code, facilitating the execution of recipes on numerous projects simultaneously. Utilizing the enriched AST can enhance optimization strategies and facilitate smoother integrations with other tools like Copilot or LMS.
Spinnaker-Related Capabilities for Enterprises
Modarina's enterprise tier leverages the LST for advanced code optimization, similar to how databases incorporate off-heap storage for scalability. By storing data on disk, scalability and efficiency are improved, especially for enterprise environments. This tier aligns with their business strategy and facilitates more scalable and robust refactorings.
The Future of Moderna: Discussion on Spinnaker, Micrometer, and Open Rewrite
Future discussions with Modarina could focus on Spinnaker and Micrometer, exploring their relationship and potential optimization strategies. Topics like advanced data analysis, integration with tools like Copilot, and scalable refactorings are crucial for enterprise solutions. Collaborating on areas such as Spinnaker, Micrometer, and Open Rewrite can create a comprehensive understanding of code optimization and metrics instrumentation.
from Pentium 2 machine and a rural high school to becoming a Java refactoring entrepreneur,
self-taught C++ in high school,
officer in the U.S. Army and deployed to Iraq and Afghanistan,
worked on Java projects at an insurance company between deployments,
joined Netflix to work on engineering tools,
challenges of migrating Java versions and libraries in a freedom and responsibility culture,
started the OpenRewrite project at Netflix for automated refactoring and code migration,
founded the micrometermetrics instrumentation project at Pivotal,
challenges of introducing automated pull requests in enterprise environments,
rebooted OpenRewrite while working with Gradle's Hans Dockter,
founded Moderne to commercialize OpenRewrite for large-scale enterprise refactoring,
the origin of the Moderne name and its Art Deco roots,
OpenRewrite's Maven and Gradle plugins for refactoring and styling using a visitor pattern on an enriched AST,
Moderne's enterprise offering for large-scale refactoring and impact analysis,
potential integration with large language models and retrieval-augmented generation for code optimization