discussions on software development
Summary
Mads Torgersen talks about what's new in C# 13, and some of what might be coming in C# 14.
Details
Upcoming release of C# 13, .NET Conf 2024. Params collections, use cases. Overload resolution priority. System.Threading.Lock, why a new lock type. Ref struct types, the underbelly of C#. Update on discriminated unions, but years away. Preview features - field keyword properties, extension everything.
Full show notes
What's new in C# 13
C# Language Design - GitHub
Summary
Andy Gocke, lead of the native AOT and app model team at Microsoft answers listener's questions about native AOT.
Details
Future of Native AOT. Trimming support in third party libraries. Why .NET prefers its own JIT compiler over the LLVM MSIL backend. How much bigger with AOT be over MSIL and JIT. Where to follow libraries supporting AOT. Using AOT and GPUs. WASM performance. Can Native AOT replace Mono AOT. Plan for using dependency injection with AOT. When will the IDEs support for Native AOT. How to get in touch.
Full show notes
@andygocke
Native AOT deployment
Native AOT on GitHub
Other C# Podcast Episodes
Summary
Stormy Peters talks about open source software and how to support the communities that create it.
Details
Who she is, what she does. What open source software is, what free means. Different types of OSS licenses, beerware, restrictive licenses. Commercial use of open software. Making OSS financially viable; tools that GitHub offers, most software is built on open source software. "We're not paying for free software!", normalizing paying for OSS; hard for companies to make payments; GitHub sponsors for companies. Individuals sponsoring/supporting OSS, getting in touch with maintainers. Barriers to getting involved. One-person projects. Sponsorship by programming language. Is anyone making enough money from sponsorship. How GitHub supports OSS developers; corporate sponsors. Copilot and its use of OSS. Future of OSS. How to get involved in OSS.
Full show notes
@storming
Stormy's Wiki page
Stormy's web site
GitHub corporate sponsorship
Summary
Andy Gocke, lead of the native AOT and app model team at Microsoft talks about ahead-of-time compilation (AOT) in .NET.
Details
Who he is, what he does. Quick overview of ahead-of-time compilation (AOT); finding your code. Traditional compilation, interpreter vs compiler, translation from source to target languages. Operating systems, intermediate language (IL). There's always an interpreter. Just-in-time compilation (JIT); Java ran on multiple OSes, but .NET was Windows only; .NET ran on multiple architectures. Ready-to-run (R2R) and trimming. Tiered compilation, variable performance. R2R mixes precompiled and IL, native AOT only has precompiled. Trimming - getting rid of unneeded things, trouble with plugins and reflection; static analysis - don't ignore warnings. Why AOT was built, where it is a good fit. How much work it was; Core RT, low adoption, but good feedback. Good and bad use cases for AOT. For .NET 7 console apps and libraries, or if you don't get trim warnings; a single trim warning is too many. AOT and non-AOT OSS NuGet packages. .NET 8 support for ASP.NET. JIT and IL will not go away. AWS Lambda functions and AOT, exclusions, problems that might occur; trimmable all the way down. Getting started with AOT. Can't turn off trimming. Future of AOT.
Full show notes
@andygocke
Native AOT deployment
Andy's de/serializer Serde-dn
More C# episodes
Summary
Tanya Janca talks about fixing your developer process so that security is part of the life cycle.
Details
Who she is, what she does. Becoming a penetration tester. Being a developer advocated. Adding security at the end of the software development life cycle; people wish there was a silver bullet for security. "We're secure, we don't need to test our security". Security should start at the project kickoff. Who owns security, the devs or the security team; getting authority and responsibility. Choosing what to fix; likelihood, potential losses, cost. Security stories during development iterations. Security gets in the way. Feature switches to turn off security in dev environments. Negotiating about what to fix; working around the process. Should security programming be a specialty. Don't build a tool if you can buy it. Copy pasting your way into trouble; Stack Overflow has a security section now; team to build core security tools. Buying services for authentication/authorization. Communicating with other applications. Why no HTTPS. Why encryption at rest when data is in the cloud. Security testing - static analysis, dependencies vulnerabilities, dynamic analysis. Security tools.
Full show notes
@SheHacksPurple
SheHacksPurple
Tanya's music
We Hack Purple
Why No HTTPS
Other Security Podcast Episodes
Summary
Mads Torgersen answers questions from listeners about C# 11.
Details
What features he regrets most; inclusion of discriminated unions; progress on roles and extensions; .NET LTS, STS, and C#; null handling and null references; warnings as errors; pressure to add more functional stuff; functions as first-class citizens; Mads is mad about delegate types - "delegate types should never have existed!"; meetings with Anders Hejlsberg; adding cloud programming constructs; reminiscing about async; evolutionary ideas; comparisons to Kotlin and Rust; balancing needs of developers with different levels of experience (Jon Skeet); managing the C# language design meetings (Jared Parsons).
Full show notes
@MadsTorgersen
What's new in C# 11
Other interviews with Mads
Summary
Mads Torgersen, lead designer of C# at Microsoft, talks to me about the recent release of C# 11.
Details
Who he is, what he does. Features released throughout the year; what happened to parameter null checking; language decision is forever, final decision rests with Mads. C# will keep evolving, adding new features but keeping the language familiar; maintaining backward compatibility. .NET Framework does not hinder C#'s evolution. Generic math library. List patterns. Raw string literals and working with JSON; community contributions. Required members.
Full show notes
@MadsTorgersen
What's new in C# 11
Generic Math
List Patterns
Other interviews with Mads
Summary
Clark Sell talks about building a community for software developers.
Details
Who he is, what he does. What a community is; not limited to in-person. How to build a community; need for some organizing force. Building a community via a conference. Local conference. Financial side of a conference, price of ticket, speaker stipend. Getting the conference started, polyglot, website, event planning. Getting people to attend the first conference. Format/behaviors, events to bring people together. The challenge of polyglot conferences; tech sessions vs soft skills; the non tech ones are more likely to change your life; software is about people. Getting the most of a conference; reach out a talk to attendees/presenters; don't put presenters on a pedestal. Way to get involved in the community; have more than one community.
Summary
Michael Dowden tells me about his experiences building and managing remote teams.
Details
Who he is, what he does. Managing a remote team, first employees hired over social media; skipped formal interviews some times; impact of Covid on team, meetings instead of email, stress. Not "work from home"; types of remote work, being available, meeting occasionally; how the team handled remote work; improving communication, document outcomes/decisions, documentation is the "source of truth", message overload; employees dedicated to managing communication; handling difficult conversations, don't let it linger; handling HR/legal issues across country/world; agile and remote work, Live Share; tips for remote work,
Full show notes
@mrdowden
Andromeda Galactic Solutions
Other episodes with Michael
Managing Distributed Teams
Thriving in Chaos
Winning as the Home Team
Summary
Mads Torgersen and I chat about his recent diagnosis with Attention-Deficit/Hyperactivity Disorder (ADHD) and how it has changed his life for the better.
Details
Why we are making this podcast. The diagnosis; his symptoms. Hard time focusing + stress and fear, low self esteem, fear of what others think; good emotional intelligence. Biological disorder. Diagnostic process. Looking back at his childhood through the lens of ADHD, new perspective on old events, better understanding of paths/decisions. Conscious forgetfulness. Baking bread, (fast and) slow; long process, sticking to the recipe helps. Other superpowers. Handling stress, mutually beneficial delegation. Effect on relationships, people pleaser, allowing people to walk over him. Imposter syndrome, not belonging to the group, too busy being distracted. Hard to know what's going on with a person from the outside, extra effort to do things that require attention, biking uphill all the time. The Mads wiggle/explanation dance, the brain/body needs activity; staying still in schools. Treatment, changing habits, learning about AD/HD; stimulant medication, biking on flat ground, better focus, less anxiety, no side effects; needs to consciously take breaks; ADHD in the morning and taking the pill. Nonmedical routes, meditation, relaxing, diet. Talking publicly, sharing with others. Genetics and looking back on family history; understanding the past. Getting a diagnosis can help you get a good life; some resources (links below). What's next for Mads. Be open to people's differences.
Full show notes
@MadsTorgersen
Addressing Controversy in ADHD: An Interview with Russell A. Barkley, PhD | Technology Networks
Jessica McCabe's YouTube channel - How to ADHD
Dani Donovan - posters and cartoons on ADHD
The Ologies podcast has a fantastic double episode on ADHD
Russell A. Barkley books
Edward Hallowell books
Check your library for electronic versions of these books
Summary
Jared Parsons, C# compiler lead at Microsoft continues talking about the C# compiler.
Details
Many ways of doing the same thing, evolving language, succinct code. Null parameter checking, listening customer feedback; preview features. String literals, JSON interpolation. Backward compatibility hindering the language; better ways of releasing .NET and C#; breaking compatibility; adding Records. No tiny changes to overload resolution. What it would take to make major break in compatibility; removing old APIs while maintaining binary compatibility. Yearly cadence; much better for features and bugs but not everything can be done in a year. The move to open source - better processes, better docs, community PRs, more time reviewing code; dealing with abuse; more direct contact with customers.
Full show notes
@jaredpar
Jared's blog
More C# podcast episodes
Working with JSON in .NET, a better way? (Bryan's blog post)
Your feedback is valuable to us. Should you encounter any bugs, glitches, lack of functionality or other problems, please email us on [email protected] or join Moon.FM Telegram Group where you can talk directly to the dev team who are happy to answer any queries.