skip to content
Relatively General .NET

Coding after work: RavenDb, passion, and books with Dejan Milicic

by Oren Eini

posted on: March 07, 2024

In this episode we talk to Dejan Milicic about the new version of RavenDb that just dropped. We also talk about how important passion is as a developer.You can listen to this here.

Building AI Bots, Extending Copilot for Microsoft 365, and more with .NET and Teams Toolkit

by Ayca Bas

posted on: March 07, 2024

Teams Toolkit for is packed with the new exciting capabilities for .NET developers including new AI Bot templates, CodeLens integration, and new Copilot preview templates.

RavenDB and Two Factor Authentication

by Oren Eini

posted on: March 06, 2024

RavenDB is typically accessed directly by your application, using an X509 certificate for authentication. The same applies when you are connecting to RavenDB as a user. Many organizations require that user authentication will not use just a single factor (such as a password or a certificate) but multiple. RavenDB now supports the ability to define Two Factor Authentication for access.Here is how this looks like in the RavenDB Studio:You are able to generate a certificate as well as register the Authenticator code in your device. When using the associated certificate, you’ll not be able to access RavenDB. Instead, you’ll get an error message saying that you need to complete the Two Factor Authentication process. Here is what that looks like:Once you complete the two factor authentication process, you can select for how long we’ll allow access with the given certificate and whatever to allow just accesses from the current browser window (because you are accessing it directly) or from any client (you want to access RavenDB from another device or via code).Once the session duration expires, you’ll need to provide the authentication code again, of course. This feature is meant specifically for certificates that are used by people directly. It is not meant for APIs or programmatic access. Those should either have a manual step to allow the certificate or utilize a secrets manager that can have additional steps and validations based on your actual requirements.You can read more about this feature in the feature announcement.

Get Started with Milvus Vector DB in .NET

by Luis Quintanilla

posted on: March 06, 2024

Learn how to get started managing embedding vectors for search and Retrieval Augmented Generation (RAG) scenarios using the Milvus vector database with .NET.

Recording

by Oren Eini

posted on: March 05, 2024

When Oren Eini originally developed RavenDB, he used the Lucene library to implement indexing. Eventually, his team encountered limitations with this strategy, so they created the Corax search engine, which improved query execution time significantly. Oren discusses the challenges involved in creating this engine and the approaches they took to overcome these challenges.Part 1:Part 2:

An introduction to the heap data structure and .NET's priority queue

by Andrew Lock

posted on: March 05, 2024

In this post I provide an introduction to the heap data structure, describe why it's useful, and show how it's used in .NET's PriorityQueue type.…

RavenDB Cloud Global Status vs. Product Status

by Oren Eini

posted on: March 04, 2024

One of the interesting components of RavenDB Cloud is status reporting. It turns out that when you offer X as a Service, people really care about your operational status. For RavenDB Cloud, we have https://status.ravendb.net/, which will give you some insights into the overall health of the system. Here are some details from the status page:   The interesting thing about this page is that it shows global status, indicating issues affecting large swaths of users. For instance, Azure having issues in a whole region in the image above is a great example of one such scenario. Regular maintenance, which we carry over the span of days, is something that we report, but you’ll usually never notice (due to the High Availability features of RavenDB). It gets more complicated when we start talking about individual instances. There are many scenarios where the overall system health is great, but a particular database may suffer. The easiest example is if you run out of disk space. That affects that particular instance only. For that scenario, we are reporting Production Monitoring Alerts within the RavenDB Cloud portal. Here is what this looks like:     As you can see, we report specific problems on those instances, raising that to your awareness. That was actually needed because, for the most part, RavenDB itself handles those sorts of things via High Availability, which means that even if there are issues, you’re likely to not feel them for a while. Resilience at the cluster level means that even pretty severe problems are papered over and the system moves on. But there is only so much limping that you can do. If you are running at the bare edge of capacity, eventually you’ll trip over the line. Those Production Monitoring Alerts allow you to detect and act upon those issues when they happen, not when they bring down production. This aligns with our vision for RavenDB, the kind of system where you don’t need to have a full-time babysitter monitoring the system. Instead, if there is a problem that the database cannot solve on its own, it will explicitly notify you, in advance. That leads to a system that is far healthier all around and means that you can focus on building your system, rather than managing database minutiae.

Optional parameters may appear in the middle of the parameter list

by Gérald Barré

posted on: March 04, 2024

In .NET, optional parameters are not always the last parameters. While C# does not allow the declaration of optional parameters in the middle of the parameter list, it is possible to do so in IL or from other languages like VB.NET or F#. Also, the compiler may lower some features and create methods

GitHub Copilot Analysis, Customized Rules, and more come to the Azure Migrate application and code assessment

by Mike Rousos

posted on: March 01, 2024

Learn about the latest features in Azure Migrate Application and Code Assessment to help you move your .NET applications from on-premises to Azure.

.NET MAUI Community Toolkit 2023 Highlights

by Kym Phillpotts

posted on: February 29, 2024

Let's take a look back at all the happeneings from 2023 for the the .NET MAUI Community Toolkit's Journey of Growth, Rich Features, and Expanding Community Collaboration and a sneak peak at what is next.