Charlie Kindel on Terminal.Gui - Episode 146

Charlie Kindel on Terminal.Gui - Episode 146

This week, Jeffrey is joined by Charlie Kindel! Charlie is an American tech executive doing consulting and advising. Formerly, he has held roles with Control4, Amazon, and Microsoft. Much of his career has been spent focused on smart home products. Additionally, he is also the maintainer of Terminal Gui, which is a .NET 5 UI framework for console applications.

In this conversation, Charlie discusses the Terminal Gui and highlights some of the cases where it shines. If you're looking for a full user interface but you only want it to sip — rather than sap — system resources, the Terminal Gui may be the solution you're looking for! It's fun from a retro perspective as it allows people to go and explore the way UIs were back in the 80s and before.

Charlie shares how the Terminal Gui project got started, its current capabilities, the notable applications that use Terminal Gui, its constraints, dependencies, memory usage, potential future integration, and more! Don't miss out on learning about this lightweight UI framework.

Topics of Discussion:

[:14] About The Azure DevOps Podcast, Clear Measure, the new podcast Architect Tips, and Jeffrey's offer to speak at virtual user groups.

[1:24] About today's episode with Charlie Kindel

[1:48] Jeffrey welcomes Charlie Kindel to the podcast!

[2:04] Charlie shares some of his notable career highlights.

[4:28] What Jeffrey finds fascinating about Terminal Gui with modern .NET 5.0 applications.

[5:55] How the Terminal Gui project got started and its capabilities.

[7:35] Jeffrey highlights how lightweight Terminal Gui is.

[8:22] Are there any notable applications that use Terminal Gui right now? What is one of Charlie's favorites?

[10:09] What does the control model for Terminal Gui look like for those who want to create a composite control or a new type of control?

[12:11] Are there any limitations besides the layout? What types of controls can be made with Terminal Gui?

[13:46] What are the constraints with Terminal Gui?

[15:46] Is it expected to use a form base model similar to WinForms or WPF? Or more like model-view-controller where you split up the behavior and the layout? What's the intended approach?

[16:56] If someone is going to adopt Terminal Gui and use it for a particular command line EXE, what is the testing story (so that they know if the user interface is behaving properly)?

[17:50] If someone is going to be using Terminal Gui in their build, tests, and deployments, do they need to be aware of any dependencies (besides the library itself)?

[18:27] A word from Azure DevOps Podcast's sponsor: Clear Measure.

[18:58] What do the tests look like in Terminal Gui? What should developers be looking at if they want to write tests?

[20:25] With Terminal Gui, would you deploy as a regular .NET 5.0 assembly? Would most of the time you roll up all the libraries and do a single executable deployment?

[20:51] What are some of the future visions for Terminal Gui?

[22:15] Why you would want to use Terminal Gui if you already use WPF, Xamarin, MAUI, etc.

[23:19] Jeffrey shares one of his first experiences with using Terminal Gui and why he likes it.

[24:09] Has Terminal Gui been tested with really old Windows or constrained hardware?

[24:33] Are there any reports on the footprint of startup memory usage?

[25:03] Jeffrey and Charlie discuss memory measurements.

[26:51] Is tab ordering built into Terminal Gui?

[28:08] Charlie discusses the potential of future integration with MAUI.

[29:19] Charlie shouts out the other contributors on the Terminal Gui project.

[30:24] Where and how to check out Terminal Gui.

[30:50] How to start contributing to the project.

[31:17] Jeffrey thanks Charlie Kindel for joining the podcast!

Mentioned in this Episode:

Architect Tips — New video podcast!

Azure DevOps

Clear Measure (Sponsor)

.NET DevOps for Azure: A Developer's Guide to DevOps Architecture the Right Way, by Jeffrey Palermo — Available on Amazon!

bit.ly/dotnetdevopsebook — Click here to download the .NET DevOps for Azure ebook!

Jeffrey Palermo's Youtube

Jeffrey Palermo's Twitter Follow to stay informed about future events!

The Azure DevOps Podcast's Twitter: @AzureDevOpsShow

Terminal Gui source code

Microsoft PowerShell Graphical Tools

Out-ConsoleGridView (OCG)

Miguel de Icaza's 2019 blog post on Terminal Gui

Presentation from .NET Conf 2018

Video recording of Terminal Gui

Xamarin.Forms with console UI adapter

Selenium

Xamarin

MAUI

Want to Learn More?

Visit AzureDevOps.Show for show notes and additional episodes.

Episoder(381)

Glenn Condron: Aspire Strategy for .NET - Episode 381

Glenn Condron: Aspire Strategy for .NET - Episode 381

Glenn is a Principal Product Manager for the App Platform team within the Developer Division at Microsoft, focusing on .NET. Before joining Microsoft Glenn was a developer in Australia where he worked on software for various government departments.   Mentioned in this Episode X Account Episode 293 Episode 58  Github Microsoft Devblog  Building Cloud Native apps with .NET 8 Simplifying Cloud-Native Development with .NET 8 Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.

22 Des 52min

Jared Parsons: The Latest with C# - Episode 380

Jared Parsons: The Latest with C# - Episode 380

Jared Parsons is a Developer Manager for the .NET Tools team at Microsoft. He's also done extensive work on the C# Compiler Team. Everybody tuning in probably uses his code on a day-to-day basis! Jared started out at Microsoft over 20 years ago as a Developer; moved on to become a Senior Developer; then Principal Developer on Midori OS; and most recently, the Principal Developer on C# Compiler Team, and now a Developer Manager. He's spoken at many conferences, like Microsoft Build and others. Mentioned in this Episode Episode 287 Episode 53  Github - Rosyln  Github - Analyzers  Github - Csharplang  Jared's LinkedIn  Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.

15 Des 42min

Chris Wilke: Generated AI Stories - Episode 379

Chris Wilke: Generated AI Stories - Episode 379

Chris has 25 years experience as a seasoned SaaS and AI product leader known for practical, people-first strategies to harness value from Generative AI for operational excellence. Chris developed the AI Vantage framework—a strategic approach that emphasizes process-driven transformation to unlock immediate and long-term value from GenAI technologies. He works for Viewport as the Head of Technology and is a respected voice in the AI and product management space, frequently sharing insights through training, blogs, and speaking engagements. Chris holds certifications in SAFe Product Ownership and Pragmatic Marketing, and is an alumnus of Texas A&M University. Mentioned in this Episode Chris' Website Chris' X Account Chris' LinkedIn Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.

8 Des 38min

Alvin Ashcraft: Community Conferences - Episode 378

Alvin Ashcraft: Community Conferences - Episode 378

Alvin is a senior content developer at Microsoft, author, and longtime leader in the .NET developer community. With over 27 years of experience in software development, Alvin has been recognized as a Microsoft MVP for more than a decade, honored for his contributions to Windows development, Visual Studio, and the broader Microsoft ecosystem. He is currently writing docs for multiple Microsoft technologies. In 2021, Alvin wrote a book for Packt Publishing, Learn WinUI 3.0. This is the first book Alvin authored and has been the technical reviewer for eight other .NET-related titles from Packt. Alvin is a founding board member of the TechBash Foundation and organizer of the annual TechBash developer conference in Pocono Manor, PA. Alvin resides in Pennsylvania with his wife and three daughters.   Mentioned in this Episode: LinkedIn Website  Alvin's Book  Episode 214  Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.

1 Des 28min

Dan Clarke: Personal Productivity - Episode 377

Dan Clarke: Personal Productivity - Episode 377

Dan Clarke is a seasoned software consultant, Microsoft MVP, and founder of Everstack Ltd. Dan is widely known for his contributions to the .NET ecosystem and hosts the Unhandled Exception Podcast.  With a background in DevOps, Azure, and developer tooling, Dan brings a thoughtful, systems-level perspective to software craftsmanship. His work spans technical education, community leadership, and content creation—from blog posts and newsletters to YouTube tutorials and conference talks.  Dan resides in the UK and when he isn't programming, he enjoys daily weightlifting, playing the guitar, and a past life of skydiving and motorcycling. Mentioned in this Episode: Clear Measure Way Architect Forum Software Engineer Forum Dan Clarke Website  Dan's Podcast  Dan's Newsletter  Dan's Youtube Dan's Blog  Dan's Linkedin  Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.

24 Nov 41min

Andrew Lock: Testing Frameworks - Episode 376

Andrew Lock: Testing Frameworks - Episode 376

Andrew Lock is a staff software engineer at Datadog and educator whose contributions to the .NET ecosystem have shaped how developers approach modern web applications.  Located in the UK, Andrew is a Microsoft MVP, Author of ASP.NET Core in Action, and has an active blog all about his experience working with .NET and ASP.NET Core.   Topics of Discussion: [2:56] Andrew talks about appreciating the joy of coding and the minutiae of figuring out the correct way to do things. [3:28] Andrew discusses the various testing frameworks available for .NET, including MS Test, NUnit, XUnit, and TUnit. He explains the history and evolution of these frameworks, noting that XUnit has become the de facto default version. [7:41] Andrew explains his interest in TUnit, a newer testing library that addresses some of the limitations of XUnit. [9:29] TUnit is designed to be fast, supporting parallel execution and native AOT for better performance. [12:16] Is there a way to radically speed up the execution of big test suites? [15:39] Andrew explains the importance of each type of test in providing confidence that the software works as intended. [21:26] Andrew notes that full system tests can provide strong confidence by exercising critical pathways in the application. [29:44] Andrew mentions that tools like Octopus Deploy can be used to automate smoke tests as part of the deployment process. [30:26] Advice to new developers regarding automated testing, and the importance of writing code that is easy to test, and thinking about testing when writing code.   Mentioned in this Episode: Clear Measure Way Architect Forum Software Engineer Forum Andrew Lock "Andrew Lock: Containers in .NET8 - Ep 281" "Andrew Lock: Web Applications in .NET6 - Ep 198" "Updates to Docker images in .NET8"   Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.

17 Nov 32min

Ben Day: SlideSpeaker.AI - Episode 375

Ben Day: SlideSpeaker.AI - Episode 375

Ben Day is a seasoned software consultant and fractional CTO. With over two decades of experience, he brings a blend of hands-on coding expertise, strategic clarity, and people-focused coaching to help companies — from startups to Fortune 500s — deliver high-quality software faster and with less friction.   As the founder of Benjamin Day Consulting, Inc., Ben offers training, coaching, and architectural guidance rooted in Agile, Scrum, Azure DevOps, and GitHub best practices. He's a Microsoft MVP, a certified Professional Scrum Trainer for over 15 years, and a sought-after speaker who favors storytelling over slide decks.   Topics of Discussion: [2:30] The overlap between music and coding, with Ben explaining the empathy required in both fields. [4:22] Jeffrey mentions the Sunday Sounds app, which allows users to create custom instruments using AI prompts. [6:45] The process of creating Slide Speaker and how Slide Speaker takes screenshots of each moment in a PowerPoint presentation and generates MP4 files. [13:01] Technical details of SlideSpeaker. [16:18] Event-based scaling. [17:10] How SlideSpeaker can be used for internal training presentations and compliance-approved content. [26:06] The opportunity for even more voice models and the ability to create your own custom voice, accent, and tone. [28:11] Ben talks about creating videos that help absolute beginners grasp C#. [32:45] What's next for Ben and Slidespeaker?   Mentioned in this Episode: Clear Measure Way Architect Forum Software Engineer Forum Benjamin Day Consulting Benjamin Day LinkedIn Benjamin Day YouTube SlidespeakerAI     Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.

10 Nov 36min

Josh Arzt: 23 Years of .NET - Episode 374

Josh Arzt: 23 Years of .NET - Episode 374

Josh Arzt is a Senior Solutions Architect with 25+ years of experience modernizing systems, solving complex problems, and delivering scalable cloud solutions. He is an expert in software engineering, DevSecOps, serverless architectures, and cloud migrations. He is a certified professional with a strong publication record in IT and applied mathematics.   His professional career began in the early 2000s, when he discovered .NET and all it had to offer in its early days. Using that framework, paired with his maturation in software architecture, helped shape how he approaches challenges — with curiosity, precision, and a focus on making technology practical and reliable. Along the way, he's led teams, modernized systems, written his own software in performance metrics, and helped organizations adapt to change, but what he values most is working with people: mentoring engineers, collaborating across disciplines, and finding ways to connect technical work to real human impact. He brings both experience and perspective — the ability to see the big picture while never losing sight of the craft that drew him to this field in the first place.   Josh is also a 2025-2026 board election candidate for .NET Foundation.   Topics of Discussion: [2:40] Josh talks about the .NET Foundation and its importance. [7:08] A self-described dorky child, Josh recounts his early days in IT, starting with building computers as a child. [9:33] Josh describes his transition from IT support to software development, driven by his interest in problem-solving. [15:55] Josh discusses the evolution of .NET, from its early days to the current state. [30:40] The importance of choosing the right tool for the job, regardless of the programming language. [32:42] The challenges of managing tech debt and the importance of sustainability in software development. [37:28] Josh shares his positive experiences with the .NET community and the support they provide. [38:08] How thoughtful and consistent feedback shapes the evolution of the .NET ecosystem. [40:02] Continuous learning and adaptation in the field of software development.   Mentioned in this Episode: Clear Measure Way Architect Forum Software Engineer Forum Joshua Arzt LinkedIn Technical Babble — XCalibur Systems Xcalibur37 GitHub User Xcalibur Stack Overflow     Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.

3 Nov 43min

Populært innen Politikk og nyheter

giver-og-gjengen-vg
aftenpodden
bt-dokumentar-2
forklart
aftenpodden-usa
popradet
stopp-verden
det-store-bildet
fotballpodden-2
nokon-ma-ga
dine-penger-pengeradet
aftenbla-bla
rss-ness
hanna-de-heldige
rss-gukild-johaug
frokostshowet-pa-p5
e24-podden
rss-penger-polser-og-politikk
oppdatert
rss-borsmorgen-okonominyhetene