Modernize .NET Apps: AI, Cloud, and Testing Accelerate Migration - Episode Hero Image

Modernize .NET Apps: AI, Cloud, and Testing Accelerate Migration

Original Title: AI-Powered Migration plus Raw Experience with Mike Rousos

Resources

Books

  • "The Pragmatic Programmer" by Andrew Hunt and David Thomas - This book is a foundational text for developers, offering timeless advice on software development practices and mindset.

Videos & Documentaries

  • "Azure Migrate Application and Code Assessment" - This is a static analysis tool mentioned as an older method for identifying .NET APIs that might behave differently in an Azure PaaS environment.

Research & Studies

  • "Paper on AI for Software Engineering" (Mark Grusinovitch) - A paper discussed that explores the implications of AI for the software engineering discipline, particularly regarding early-career professionals.

Tools & Software

  • Tuple - A screen sharing and remote pair programming application designed specifically for developers, offering features like one-click annotation and shared control.
  • GitHub Copilot - An AI pair programmer that assists developers with various tasks, including code generation, understanding complex reports, and suggesting alternatives.
  • GitHub Copilot Chat - A feature within GitHub Copilot that allows for interactive conversations and problem-solving within the code editor.
  • GitHub Copilot at Modernization Tool - A tool that helps upgrade .NET applications between versions and prepares them for Azure, integrating with GitHub Copilot.
  • Azure Migrate Application and Code Assessment - A static analysis tool used to identify .NET APIs that may behave differently in an Azure PaaS environment.
  • Playwright - A tool mentioned for recording user interactions to help generate tests.
  • IIS Rewrite XML - An XML file used for configuring URL rewriting rules in IIS.
  • .NET Migrate Command Line Tool - A command-line tool for migrating .NET projects.
  • Roslyn Analyzers - Tools that analyze C# code and provide feedback, often used in .NET development.
  • .NET Upgrade Assistant - A tool that assists in upgrading .NET applications.
  • Manfred's X to Y Dependency Transformation - A process or template developed by an engineer named Manfred to codify best practices for effective code transformation with Copilot.

Articles & Papers

  • "Stephen Toub's Giant Super Long Blog" - A series of blog posts by Stephen Toub discussing performance improvements in .NET.

People Mentioned

  • Johnny Marler (Tuple) - Representative from Tuple, discussing the benefits of their screen-sharing tool for developers.
  • Mike Rousos (Microsoft) - Principal Software Engineer and Customer Engagement at Microsoft, discussing AI-powered migration and customer engagement.
  • Mayoni - Mentioned in the context of working on the GC (Garbage Collection) for .NET performance.
  • Stephen Toub - Author of extensive blog posts on .NET performance.
  • Andrew Hunt - Co-author of "The Pragmatic Programmer."
  • David Thomas - Co-author of "The Pragmatic Programmer."
  • Manfred (Microsoft) - An engineer on Mike Rousos's team who developed the X to Y Dependency Transformation concept.
  • Mark Grusinovitch - Co-author of a paper on AI for software engineering.

Organizations & Institutions

  • Microsoft - The company where Mike Rousos works and where many of the discussed tools and technologies originate.
  • Core AI Platform - The specific organization within Microsoft that Mike Rousos is part of.
  • Microsoft Consulting Service (MCS) - A past Microsoft service for paid consulting, contrasted with the customer engagement role.

Courses & Educational Resources

  • "Instructions Files" for GitHub Copilot - Files that can be used to provide specific guidance and context to GitHub Copilot, especially for older technologies like .NET Framework and packages.config.

Websites & Online Resources

  • tupleapp (tupleapp) - The website for the Tuple screen-sharing and pair programming tool.
  • coderabbit.ai (coderabbit.ai) - The website for Code Rabbit, an AI tool for code reviews.

Other Resources

  • .NET Framework - An older version of the .NET platform, often requiring migration.
  • .NET Core - The cross-platform, open-source successor to .NET Framework.
  • .NET 5, 6, 8, 9, 10 - Various recent versions of the .NET platform.
  • Azure App Service - A Platform as a Service (PaaS) offering from Microsoft Azure for hosting web applications.
  • Azure App Service Environment - A more isolated and customizable version of Azure App Service.
  • Docker Container - A lightweight, standalone, executable package of software that includes everything needed to run it.
  • Raspberry Pi - A small, single-board computer often used for hobbyist projects and embedded systems.
  • Windows VM - A virtual machine running the Windows operating system.
  • Bare Metal - Refers to physical servers without any virtualization layer.
  • Net 5 - An older version of .NET that is out of support.
  • Net Framework 4.8 - A supported version of .NET Framework.
  • Net Framework 3.5 - An older version of .NET Framework mentioned in the context of hiring developers.
  • Blazer - A web framework for building interactive client-side web UI with .NET.
  • NewGet Packages - Packages used in .NET development, managed via the NuGet package manager.
  • Visual Studio - An integrated development environment (IDE) from Microsoft.
  • VS Code - Visual Studio Code, a lightweight but powerful source code editor.
  • Azure Container Apps - A managed environment for running containerized applications on Azure.
  • System Addin - A .NET technology for creating plug-in models that does not exist in .NET Core.
  • Registry - A hierarchical database that stores low-level settings for the operating system and for applications that opt to use the registry.
  • Time Zones - A system for regulating time, managed by the operating system.
  • PR (Pull Request) - A mechanism in version control systems (like Git) for proposing changes to a codebase.
  • Vibe Coding - Likely refers to rapid, less structured coding, potentially with AI assistance.
  • MSBuild - The build platform used by .NET and .NET Core.
  • Packages.config - An older file format for managing NuGet package dependencies.
  • CsProj - The project file format for .NET projects.
  • LLM (Large Language Model) - The underlying technology behind tools like GitHub Copilot.
  • MCP Server - A server that provides a knowledge base for LLMs.
  • Build Server - A server dedicated to automating the build process of software.

---
Handpicked links, AI-assisted summaries. Human judgment, machine efficiency.
This content is a personally curated review and synopsis derived from the original podcast episode.