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.

Jaksot(384)

Jimmy Bogard: .NET 7 and Azure Modernization - Episode 264

Jimmy Bogard: .NET 7 and Azure Modernization - Episode 264

Jimmy is the creator and maintainer of the popular OSS libraries AutoMapper and MediatR. Jimmy is an independent consultant based in Austin, TX. Jimmy has received the "Microsoft Most Valuable Professional" (MVP) award every year since 2009. Topics of Discussion: [3:45] How do we modernize old software systems? [4:55] Dividing the modernization process into small steps to minimize dependencies and validate changes along the way. [5:01] Does Jimmy have a preferred sequence of work that he has found that makes modernizing a system easier? [7:01] Modernizing legacy ASP.NET web applications with test coverage. [7:24] System web adapters. [12:02] Database migration to Azure using SQL Data Sync and Hangfire. [12:09] Any "gotchas" on the database side? [15:27] What exactly is Hangfire? [17:02] The flexibility of Hangfire in its triggers and scheduling. [23:49] How system web adapters enable easy migration of controllers and actions. [25:16] Second success story for YARP: Yet Another Reverse Proxy. [27:15] What was the thought about observability architectures? [29:02] What are some of Jimmy's favorite features? [32:08] The team modernized the telemetry system for a large organization, enabling them to query data more efficiently and gain valuable insights. [35:05] Lessons learned and best practices while modernizing.NET applications with Azure DevOps. Mentioned in this Episode: YARP Clear Measure Way Architect Forum Software Engineer Forum Programming with Palermo — New Video Podcast! Email us at programming@palermo.net. Clear Measure, Inc. (Sponsor) .NET DevOps for Azure: A Developer's Guide to DevOps Architecture the Right Way, by Jeffrey Palermo — Available on Amazon! Jeffrey Palermo's Twitter — Follow to stay informed about future events! Architect Tips — Video podcast! YARP: Yet Another Reverse Proxy Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.

25 Syys 202339min

J. Tower: Modernization Strangler Fig Pattern - Episode 263

J. Tower: Modernization Strangler Fig Pattern - Episode 263

Jonathan, or J. as he's known to friends, is a husband, a father, and the owner of Trailhead Technology Partners, a custom software consulting company with employees all around the world. He is also a Microsoft MVP in .NET and frequently speaks at software meetups and conferences. He doesn't mind too much because he loves sharing what he's learned, and it also gives him an excuse to visit any nearby National Parks, a passion of his, proven by the fact that he's currently made it to 56 of the 63 parks. J. also has a passion for building community and has served on several non-profit boards over the years as a result. Currently, J. sits on the SoftwareGR board, a non-profit trade organization dedicated to building the software industry in West Michigan. He also runs Beer City Code, a software conference, and has served as president on that board for over a decade. J. loves hiking, reading, photography, and trying to see all the best picture nominees before the Oscars ceremony. Topics of Discussion: [4:18] J starting his own consulting company, Trailhead. [4:55] The two categories that make up software architecture. [5:54] J's philosophy on when he would rewrite a legacy software system. [10:52] The pros and cons of making small improvements over time. [11:33] What is the strangler fig pattern, and how does that turn into a strategy for a software update? [16:02] Bringing older ASP.NET applications up to .NET7. [19:55] What is a reverse proxy? [22:21] We reference the book Working Effectively with Legacy Code. [25:08] In this process, do both of the applications just get access to everything, or do you have to do something specific? [31:28] Architecturally, does this approach work in modernizing from older or other platform web applications? [34:02] The concept of microfrontends. Mentioned in this Episodes: Clear Measure Way Architect Forum Software Engineer Forum Programming with Palermo — New Video Podcast! Email us at programming@palermo.net. Clear Measure, Inc. (Sponsor) .NET DevOps for Azure: A Developer's Guide to DevOps Architecture the Right Way, by Jeffrey Palermo — Available on Amazon! Jeffrey Palermo's Twitter — Follow to stay informed about future events! Architect Tips — Video podcast! J. Tower on Twitter J. Tower on LinkedIn YARP Basic YARP Sample Strangler Fig Application Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.

18 Syys 202338min

Chris "Woody" Woodruff: Network Programming - Episode 262

Chris "Woody" Woodruff: Network Programming - Episode 262

Chris Woodruff, or as his friends call him, Woody, is a software developer and architect of over 25 years. Woody loves software engineering, especially allowing applications and services to communicate across networks and through Web APIs. He has been a Microsoft MVP in SQL, Data, and C# in the past, along with multiple years of being awarded the AWS Community Builder Award. Woody lives in Grand Rapids, Michigan, where he explores the many breweries in West Michigan and travels with his family. Woody is also a long-time bourbon fan and loves hunting for whiskey bottles. Topics of Discussion: [4:46] The many positions Woody has held in his career. [7:14] The genesis behind Woody's new book, Practical Network Programming Using C#. Dive deep into #CSharp12 and #DotNET8. [9:24] The second book Woody is working on co-writing, on the patterns of developer relations. [14:10] The original intent of the internet was to protect the military. [15:22] What is a packet? [21:08] A brief history of web services. [24:00] Who was Roy Fielding? [28:48] Woody talks about using different applications, the WebSocket service, and Dapr. [35:36] You have to know about the transport across the network, as well as how to build the code and architect your application so that it utilizes the network efficiently. [40:14] We can expect the book out by May or June 2024. Mentioned in this Episodes: Clear Measure Way Architect Forum Software Engineer Forum Programming with Palermo — New Video Podcast! Email us at programming@palermo.net Clear Measure, Inc. (Sponsor) .NET DevOps for Azure: A Developer's Guide to DevOps Architecture the Right Way, by Jeffrey Palermo — Available on Amazon! Jeffrey Palermo's Twitter — Follow to stay informed about future events! Architect Tips — Video podcast! Azure DevOps Chris Woodruff's Blog Chris Woodruff LinkedIn Chris Woodruff Twitter Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.

11 Syys 202342min

Jeremy Miller: Parallelism in Software - Episode 261

Jeremy Miller: Parallelism in Software - Episode 261

Jeremy Miller started his career as a "real" engineer but wandered into software because that looked like more fun. Since then, Jeremy has worked in and led software development teams in the computer manufacturing industry, finance, insurance, health care, and banking industries. Lately, Jeremy has been focused on leading software architecture teams and helping mentor other software architects. Having had roles both as an in-house software architect and as a software consultant, Jeremy has a great deal of insight into the challenges that confront companies developing and maintaining enterprise systems over time. Jeremy is well known for his Open-Source Software tools starting with Structure Map and continuing today to Marten and Wolverine. Jeremy is also a frequent author and technical speaker at software conferences. Jeremy recently helped found JasperFx Software to build a sustainable business around the "Critter Stack" tools. Topics of Discussion: [6:10] How Jeremy got into open-source development. [6:50] Being a part of the codebetter.com website in the pre-Twitter days. [9:30] What most developers should be aware of in the space of getting code to run or multiple instances to run at the same time and having it come out well. [12:04] What is Marten, and how does it work? [12:26] TPL Dataflow Library is a hidden gem inside of Microsoft. [15:25] The two parts of Marten and how they work together. [17:42] What is a producer-consumer pattern? [20:05] How to implement a queue pattern. [24:04] You should probably have some basic understanding of one level underneath you, but Jeremy thinks you don't want to work on the thread level yourself. [25:38] Jeremy defines "Critter Stack." [29:55] Jeremy's advice for new developers. [32:59] Jeremy talks about the type of customers he is looking to collaborate with. Mentioned in this Episodes: Clear Measure Way Architect Forum Software Engineer Forum Programming with Palermo — New Video Podcast! Email us programming@palermo.net Clear Measure, Inc. (Sponsor) .NET DevOps for Azure: A Developer's Guide to DevOps Architecture the Right Way, by Jeffrey Palermo — Available on Amazon! Jeffrey Palermo's Twitter — Follow to stay informed about future events! Architect Tips — Video podcast! Azure DevOps Jeremy Miller Twitter Jeremy Miller LinkedIn Jeremy Miller Website Jasper FX Marten Wolverine Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.

4 Syys 202336min

Nathaniel Schutta: Thinking Architecturally - Episode 260

Nathaniel Schutta: Thinking Architecturally - Episode 260

Nathaniel Schutta (or Nate) is a software architect focused on cloud computing and building usable applications. A proponent of polyglot programming, Nate has written multiple books and appeared in various videos. Nate is a seasoned speaker, regularly presenting at conferences worldwide, No Fluff Just Stuff symposia, meetups, universities, and user groups. In addition to his day job, Nate is an adjunct professor at the University of Minnesota where he teaches students to embrace (and evaluate) technical change. Driven to rid the world of bad presentations, Nate co-authored the book Presentation Patterns with Neal Ford and Matthew McCullough. Nate has published Thinking Architecturally and Responsible Microservices both available as free downloads from VMware. Topics of Discussion: [5:12] How Nate decided he liked development and architecture, and who was Dr. Evil? [7:10] Nate worked at a software company for a brief period and spent a lot of his time building enterprise web apps. [10:13] Is it possible to think and talk about software the same, regardless of language? [14:17] Nate Defines circuit breaker. [15:56] The importance of having good observability and monitoring in place to see what is going on. [22:35] Nate gives some categories of architects and where he thinks it changes in responsibility and scope. [26:14] To quote Ralph Johnson, "Architecture is the important stuff, whatever that is." While we may have different definitions of "IT," Nate thinks that it has the decisions that are hard to change later, and the ones we hope we get right in the first place. The "IT" is also what matters to the application at hand. [36:14] Are we currently at another inflection point? [38:03] The current landscape and challenges of inventing things on the fly. [45:22] What can we expect from Nate's new book? [55:54] Engineers often overlook soft skills, and the Dale Carnegie books on leadership are a great place to start. Mentioned in this Episodes: Clear Measure Way Architect Forum Software Engineer Forum Programming with Palermo — New Video Podcast! Email us programming@palermo.net Clear Measure, Inc. (Sponsor) .NET DevOps for Azure: A Developer's Guide to DevOps Architecture the Right Way, by Jeffrey Palermo — Available on Amazon! Jeffrey Palermo's Twitter — Follow to stay informed about future events! Architect Tips — Video podcast! Azure DevOps Nate Schutta Twitter Nathaniel Schutta Website Thinking Architecturally Fundamentals of Software Dale Carnegie Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.

28 Elo 202359min

Bob Walker: Painless Operations - Episode 259

Bob Walker: Painless Operations - Episode 259

Bob started as a .NET Developer back in the early days of .NET 1.1 with the goal of converting ASP pages to ASP.NET web applications. During that time, his career progressed from .NET Developer to Lead Developer, to Architect, to where he is today. As a technical director at Octopus Deploy, he helps solve complex customer problems as Octopus Deploy. As a team, we help answer both technical and non-technical questions. Bob has been a fan of making it easier to deploy software since the early 2010s, when working for a company the only time to deploy to production was 2 a.m. Saturday. That has led him down the path of CI/CD, DevOps, TDD, and automating all things. He was exposed to Redgate tooling and Octopus Deploy while working at Farm Credit Services of America and has been a fan ever since. In his current role, Bob gets to work with a variety of technologies every day. Topics of Discussion: [1:41] One of the biggest high points in Bob's career was being one of the champions of automating database deployments, and seeing that spread across all these other teams. [3:51] Also, he adopted test-driven development and was able to improve the speed of his application from 500 milliseconds per request to 50 milliseconds. [5:20] Bob talks about test-driven development. [7:00] The rules of thumb for people to get right to make running their software system more painless. [8:14] The problem of database management. [10:10] There are two schools of thought: state-based management and migration approach. [12:59] Distributed source control and having a build server are two of the main tools to consider. [15:28] The critical ingredients of monitoring and recovery. [22:07] The two ways to define a tenant. [24:11] One of the advantages of multi-tenancy applications is having a shared application and a shared database, where all the data of all the customers is intermingled with one customer's data. [27:29] Managing complexity in the cloud. [33:53] I's all about improving a little, every day, and practicing to get better just a little bit more. Mentioned in this Episodes: Clear Measure Way Architect Forum Software Engineer Forum Programming with Palermo — New Video Podcast! Email us programming@palermo.net Clear Measure, Inc. (Sponsor) .NET DevOps for Azure: A Developer's Guide to DevOps Architecture the Right Way, by Jeffrey Palermo — Available on Amazon! Jeffrey Palermo's Twitter — Follow to stay informed about future events! Architect Tips — Video podcast! Azure DevOps Bob Walker Twitter Bob Walker LinkedIn Blog — Octopus Deploy Octopus Deploy Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.

21 Elo 202334min

Damian Brady: GitHub Copilot - Episode 258

Damian Brady: GitHub Copilot - Episode 258

Damian Brady is a Developer Advocate Manager at GitHub. He's a developer, speaker, and author specializing in DevOps, MLOps, developer process, and software architecture. Formerly a Cloud Advocate at Microsoft for four years, and before that, a dev at Octopus Deploy and a Microsoft MVP, he has a 25-year background in software development and consulting in a broad range of industries. In Australia, he co-organized the Brisbane .Net User Group and launched the annual DDD Brisbane conference. Topics of Discussion: [2:12] How did Damian get into the field? [5:50] What is GitHub Copilot, and what are some of the most impressive and time-saving features? [8:38] What is the model that GitHub Copilot uses? [10:32] How have they decided what code is appropriate for this model? [12:13] Damian talks about both the prompt engineering and the server side. [17:30] How do you know if your code is good code? [19:50] Damian shares some cool prompts he has seen in Copilot Chat. [26:10] Github Copilot Voice is an experimental tool, useful for people who find it hard to type or who can't type. [32:48] The aim of Copilot is to basically increase your productivity, but increase your happiness as a developer as well. [34:40] Will this eventually take the job of all developers? [38:14] Whether it's GitHub Copilot or a competitive tool that does AI programming, it's just going to be the way that you do software engineering. [43:07] The difference between junior and senior developers. Mentioned in this Episodes: Clear Measure Way Architect Forum Software Engineer Forum Programming with Palermo — New Video Podcast! Email us programming@palermo.net Clear Measure, Inc. (Sponsor) .NET DevOps for Azure: A Developer's Guide to DevOps Architecture the Right Way, by Jeffrey Palermo — Available on Amazon! Jeffrey Palermo's Twitter — Follow to stay informed about future events! Architect Tips — Video podcast! Azure DevOps Damian Brady on Twitter Damian Brady website GitHubNext CoPilot for Docs GitHubNext | Copilot for Pull Requests Copilot for CLI CoPilot Voice DDD Brisbane Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.

14 Elo 202349min

Glenn Burnside: Managing Developers - Episode 257

Glenn Burnside: Managing Developers - Episode 257

Glenn Burnside is the Principal Engineer at Skimmer. For 11 years, he was the Executive Vice President at Headspring until they were acquired by Accenture. Before that, he held a number of development management positions as well as leadership roles in the Boy Scouts and other community roles. Glenn holds an Executive MBA from Quantic School of Business and a Computer Engineering degree from Texas A&M University, where he held leadership positions in the Corps of Cadets, Company B-1. You can find more about Glenn at glennburnside.com. Topics of Discussion: [3:48] Glenn shares a funny story of threatening to quit if he became a manager, and what it feels like to bug people about filling out their timesheets. [5:13] What Glenn realized about software team management and paving the way for others to grow. [9:03] Glenn talks about his thought process of adding someone to the team, whether it's from scratch or adding someone to an existing team. [10:08] A concept from The Ideal Team Player, of finding someone that is humble, hungry, and smart. [13:14] Why Glenn asks to look for demonstrated ability or demonstrated actions from their prior history rather than answering a hypothetical question. [14:05] The STARR method: Situation, Task, Action, Resolution, Retrospective. [17:44] The importance of finding someone that can improve with you and learn as they go. [19:46] The younger generation of developers has skills but lacks confidence. [21:54] Gathering data points of the industry as a whole from outside your inner circle and place of employment. [23:07] You've got the great people on your team, now how do you get them to stay? [25:02] Keeping everybody aimed at the higher mission. [31:11] Having respect for the whole team, not just thinking of yourself as an individual player. Mentioned in this Episodes: Clear Measure Way Architect Forum Software Engineer Forum Programming with Palermo — New Video Podcast! Email us programming@palermo.net Clear Measure, Inc. (Sponsor) .NET DevOps for Azure: A Developer's Guide to DevOps Architecture the Right Way, by Jeffrey Palermo — Available on Amazon! Jeffrey Palermo's Twitter — Follow to stay informed about future events! Architect Tips — Video podcast! Azure DevOps Glenn Burnside on LinkedIn Glenn Burnside Want to Learn More? Visit AzureDevOps.Show for show notes and additional episodes.

7 Elo 202334min

Suosittua kategoriassa Politiikka ja uutiset

tervo-halme
aikalisa
rss-ootsa-kuullut-tasta
ootsa-kuullut-tasta-2
politiikan-puskaradio
viisupodi
rss-vaalirankkurit-podcast
rss-podme-livebox
rss-kuka-mina-olen
otetaan-yhdet
rikosmyytit
et-sa-noin-voi-sanoo-esittaa
rss-kaikki-uusiksi
rss-hyvaa-huomenta-bryssel
rss-tasta-on-kyse-ivan-puopolo-verkkouutiset
radio-antro
rss-poliittinen-talous
rss-merja-mahkan-rahat
rss-asiastudio
suomenkielisia-podcasteja