CodeSwissKnife Bar

CodeSwissKnife Bar: The Developer’s Menu Bar Sidekick for macOS

Download
blog

How to Use the Options Pattern in ASP.NET Core for Strongly Typed Configuration

Why You Need the Options Pattern for Configuration When building applications in ASP.NET Core, configuration plays a critical role. Almost every project needs to load values from appsettings.json or environment variables, database connection strings, API keys, feature flags, and more. The most common way to read configuration is by using the IConfiguration interface and accessing […]

Ottorino Bruni 
blog

Getting Started with System.Collections and Immutable Types in C# and .NET – Part 2

Introduction In Part 1 of this series, we explored the foundational types and interfaces behind collections in C# and .NET, such as IEnumerable<T>, ICollection<T>, IList<T>, as well as common types like arrays, List<T>, Queue<T>, Stack<T>, and Dictionary<TKey, TValue>. We also discussed trade-offs and practical use cases to help you make better choices when working with […]

Ottorino Bruni 
blog

Getting Started with System.Collections and Immutable Types in C# and .NET – Part 1

Introduction When writing C# code, most of us tend to stick with the basics List<T>, arrays, maybe a Dictionary<TKey, TValue> when needed. They’re familiar, flexible, and get the job done in many scenarios. But the .NET framework provides much more. The System.Collections namespace (and its generic and specialized variants) offers a wide range of collection […]

Ottorino Bruni 
blog

Getting Started with Garmin Connect IQ Development: Build Your First Watch Face with Monkey C and VS Code

Introduction As a seasoned software developer focused on cloud applications, I’ve always harbored a passion for gadgets and mobile devices. My journey in mobile development started in the early days, crafting applications for Nokia phones using J2ME, and later evolved to iOS development since the first iPhone release. My Smartwatch Journey Being deeply embedded in the […]

Ottorino Bruni