Execute Python Code from C# with PythonNET

Programming

If you’re a C# developer who needs to tap into a Python library, run a script, or simply call a helper function written in Python, the PythonNET library is one of the simplest ways to do it. It exposes the CPython interpreter to .NET, allowing you to import modules, instantiate classes, and call functions as if they were native C# objects.

Read more...

#3 Custom API for Open WebUI API Endpoints

Programming

In part 3 of our local AI series, we turn the Open WebUI chat endpoint into a clean, programmatic API. The example shows a simple JSON request that returns the model’s answer while filtering out extraneous metadata.  This setup dramatically simplifies integrating RAG into your .NET applications, boosting user productivity by providing an API for your own local RAG-aware chatbots.

Read more...

Building rich C# Desktop Apps for LINUX Desktop

Programming

Discover how Avalonia UI empowers C# developers to build modern, cross-platform desktop applications for Windows and Linux. While .NET MAUI is a strong cross-platform framework for mobile and desktop, its mobile-first focus and lack of Linux support make it less suited for desktop-centric scenarios. This article explores why Avalonia UI is the better choice for creating rich desktop experiences, with native multi-window support and consistent rendering powered by Skia. Developers coming from WPF or UWP will feel right at home with Avalonia’s XAML-based approach and full MVVM support.

Read more...

C# using a Local Language Model with LM Studio to Sort Screenshots

Programming

Learn how to use a local language model with C# and LM Studio to automatically sort screenshots into categories using AI and Vision Language Models (VLM).  Utilize the power of visual recognition with .NET!

Read more...

Smarter APIs with GraphQL

Programming

While REST is not going away anytime soon and remains perfectly suited for many use cases, GraphQL offers significant advantages for applications where flexibility, efficiency, and rapid development cycles are critical. By enabling more precise data fetching, reducing the number of network requests, and improving the overall developer experience, GraphQL is helping to shape the future of API development.

Follow this step by step guide to setup your first GraphQL Client and Server in C# with .NET!

Read more...

Handling Large Files: BufferedStream vs LINQ's Chunk method

Programming

The choice between using BufferedStream and the LINQ Chunk extension method for operating with very large files depends on your specific use case and requirements. Here we discuss the pros and cons for each.

Read more...

Using the Model Context Protocol (MCP) with C#

Information

With the new MCP C# SDK, developers can efficiently manage communication between AI models and applications. 

Anthropic’s Model Context Protocol (MCP) is currently making waves. It's a standardized protocol designed to streamline communication between applications and models by offering a structured way to exchange context and data between AI models and their clients.   Whether you're developing AI-powered applications or integrating multiple models into a cohesive system, MCP ensures interoperability and scalability.

Read more...

Locale Functions and Clean Code Principles

Programming

Local functions are methods of a type that are nested in another member. They can only be called from their containing member.  Local functions provide a clean way to organize code while potentially improving performance and maintaining better encapsulation.  Local functions should enhance readability and performance without violating Clean Code Principles.  If they make the code harder to understand or maintain, that's a sign they should be refactored into regular methods.

Read more...

C#

.NET object-oriented fluent SQL Builder

Programming

KnightMoves.SqlObjects is a .NET NuGet package that provides an object-oriented fluent SQL builder, allowing developers to construct SQL queries using C# objects instead of string manipulation, closely mirroring T-SQL syntax for a more intuitive experience.

Read more...

Random.Shared in .NET9

Programming

With .NET9 Microsoft introduced Random.Shared for for thread-safe random number generation.

Read more...