The AWS S3 SDK makes file uploads look easy—until you try streaming a non-seekable stream. Learn why PutObjectRequest fails and how multipart uploads solve the problem.

The AWS S3 SDK makes file uploads look easy—until you try streaming a non-seekable stream. Learn why PutObjectRequest fails and how multipart uploads solve the problem.
Pipes And Performance Efficient and reliable data transmission is the backbone of seamless communication. At the heart of this process lies TCP (Transmission Control Protocol) networking, a fundamental technology that ensures data is sent and received accurately across the internet. I never had to create a TCP server/client with .NET but I always wanted toRead more
Intro As software developers, we frequently encounter scenarios where reading from or writing to streams is an essential part of our daily tasks. Whether it’s processing data from files, network communication, or manipulating memory buffers, working with streams lies at the heart of many programming tasks. Mastering the art of handling file streams efficiently isRead more
Intro The term “monad” often arises in discussions about functional programming concepts and techniques. A monad is a design pattern used to structure code in a functional style while dealing with side effects, asynchronous operations, or computations that may fail. In C#, the most common example of a monad is the Task<T> type, which representsRead more
Intro In the realm of extensive datasets — and for this discussion, I’ve zeroed in on MongoDB — it’s imperative to understand the database’s response patterns to the queries our applications launch against it. Not long ago, I found myself crafting some seemingly straightforward MongoDB queries. For instance, consider a task as “innocent” as “deletingRead more
Using built-in methods to configure and validate option An important part of any asp.net web application is how we handle our project settings, and from my point of view, a very strong emphasis should be set on how to validate our settings. Think about what happens when you miss setting a proper int configuration value,Read more
Here is what you can do to increase the security in your api services. In this article I will show the barebones needed to be set up to protect an Api using ClientCredentials grant type and IdentityServer4 ✨ IdentityServer project: This project has only 2 files: Startup.cs Program.cs This is a default generate project usingRead more
Why locking in the first place? Because in many scenarios we need to guarantee the consistency of the data, this means that we will not allow for one user changing data that another user has already edited. There are 2 types of locks that we can implement: optimistic pessimistic When pessimistic? A pessimistic lock isRead more
In this article I will present my approach in accessing AAD user information using WebApi and a self signed certificate stored in keyvault. I am using .net 5, c#9 and for the test environmentI created an account using https://developer.microsoft.com/en-us/microsoft-365/dev-program , with this account you have a list of sample users which you can use toRead more
Bitwise operations are important when dealing with permissions. In this case the permissions are designed as flags and the operations described will include the scenario where one variable can have one or multiple permissions, all described in the enum. The following enum defines a set of permissions for a particular operation. [Flags] public enum FlagsRead more
Description I am not well trained into solving algorithms but from time to time this topic raises my interest and I find my self drawn into wanting to understand the underlying logic. I recently found a problem that I found to interresting to solve, it’s a Microsoft engineer interviewing question and I followed along theRead more
The Project In this article I am using IdentityServer4 which has been enriched with Identity to have access to UserManager and SignInManager. The key part about linking these 2 together was the use of a certain nuget package IdentityServer4.AspIdentity which provided some extra services for us that binds these 2 together. The added services are:Read more