ASP.NET Core offers a simplified hosting model, called minimal APIs, that allows us to build lightweight APIs with minimal dependencies. Although minimal APIs don’t use controllers, and require only minimal code and minimal configuration, they nevertheless allow us to implement advanced features and important security mechanisms such as Cross-Origin Resource Sharing, or CORS. In this post, we’ll examine how we can work with CORS in minimal APIs in ASP.NET Core. To use the code examples pr...| Google’s Jules coding agent adds CLI, API | InfoWorld
En este experimento parto de una base .NET con deuda técnica deliberada y la someto a un análisis exhaustivo con NDepend. A partir del informe (reglas, métricas y CQLinq), priorizo los smells con ayuda de una IA generativa y aplico refactors en tres oleadas (Quick Wins → Media → Estructural). El resultado es una reducción medible de complejidad, duplicación y acoplamiento en horas, no semanas, y un pipeline con quality gates que evita regresiones. NDepend me da la radiografía; la IA...| JMFLORESZAZO
En los últimos meses (o último año), todo el mundo habla de la Inteligencia Artificial (IA). Hay titulares que insisten en que la IA nos va a quitar el trabajo, que no está lo suficientemente madura o que las empresas no ven retorno de inversión (ROI). Pero, ¿sabes qué? Me parece que cuando hablamos así, detrás de esos grandes titulares, olvidamos lo que realmente importa: el para qué de la IA. Porque es justamente en los casos concretos, reales, donde la IA puede brillar.| JMFLORESZAZO
Let's discuss a possible way to build a "bridge" between the managed C# world and the native C++ world, using P/Invoke.| Giovanni Dicanio's Blog
Let's see how to fix a common problem when building mixed C++/C# projects in Visual Studio.| Giovanni Dicanio's Blog
This post will cover the use of PID controllers in video games. If you’ve ever used your car’s cruise control, flown a quadrocopter, or piloted a rocket, then there’s a good chance that you’ve used a PID controller. A PID controller is a type of control loop that’s used for automation. PID controllers are flexible ... Read more| VAZGRIZ
Now that we have the flight mechanics and HUD, we can start working on the weapons and AI. The AI will have all of the same capabilities and limitations as the player. It’s plane will have identical stats and it will use the same weapons. The AI will be simple, but still capable of shooting ... Read more| VAZGRIZ
This article will cover the creation of the plane’s animation, camera, and HUD. It answers one particularly tricky question: how can we make HUD elements line up correctly with a given angle? Flight Sim Part 2 by vazgriz Github at part-2 Animation The animations for the control surfaces are pretty simple. Since the aerodynamic forces ... Read more| VAZGRIZ
I’ve been playing Ace Combat and Project Wingman recently. This inspired me to write my own flight simulator using Unity3D. I wanted to make a flight sim with more depth than the arcade flight sims, while still being accessible. You can think of realism as a spectrum. On one end is Ace Combat and at ... Read more| VAZGRIZ
In this post, I will describe a shader for Unity3D that recreates the look of a reflex sight. A reflex sight projects the image of it’s crosshair to some distance in front of the viewer. Red dot sights holographic sights are both types of reflex sights, they only differ in the crosshair used for aiming. ... Read more| VAZGRIZ
I’ve been playing some roguelikes recently, so I wanted to try writing my own procedural dungeon generator. There are a lot of different ways to approach this problem, but I eventually decided to base mine off of TinyKeep’s algorithm, described here. I extended the algorithm to work in 3D, to create dungeons with multiple floors. ... Read more| VAZGRIZ
Taking advantage of our OpenTelemetry tracing to easily test behavior that is otherwise very hard to observe| Jennifer++
We build tools, but we are also shaped by the affordances of those tools. I'm building Letterbook. I would like it if you join me.| Jennifer++
Motivación y aplicaciones accesibles| JMFLORESZAZO
I promised to continue my blog post from yesterday about Microsoft.Extensions.AI.Evaluation. Today we have a look at caching the responses and reporting.| The art of simplicity
tl;dr Since .NET Core 3, the dotnet runtime has provided a low-level hook that allows injecting managed code that will run before an application’s entry point. This hook makes it possible to effectively backdoor any .NET application on a host (Windows, Linux, and macOS). You may ask| Rasta Mouse
This post was inspired by a question posted by kevin in my Discord server, about how token impersonation can be applied to threads in C#. Before delving into that particular facet, let’s do a quick recap of token impersonation as a whole. What is Token Impersonation? This is| Rasta Mouse
In my previous blog post I described some behaviour of C# record types which was unexpected to me, though entirely correct according to the documentation. This is a follow-up post to that one, so if you haven’t read that one yet, please do so – I won’t go over all the same ground. Is this … Continue reading Records and the ‘with’ operator, redux→| Jon Skeet's coding blog
Unexpected inconsistency in records The other day, I was trying to figure out a bug in my code, and it turned out to be a misunderstanding on my part as to how C# records work. It’s entirely …| Jon Skeet's coding blog
Discover the simple yet powerful technique of using bitwise shift operator in C# Enums, and how it can improve the readability and maintainability of your code.| MALTSEV.SPACE
It started with a simple thought: four bytes in a hash table bucket look just like an integer. Luckily, this one idea led to a deep dive into bit-twiddling and a 2x performance boost.| MALTSEV.SPACE
Ejemplo| JMFLORESZAZO
I'm on a journey discovering what is possible with the Microsoft.Extensions.AI library and you are free to join. Yesterday I looked at how ...| bartwullems.blogspot.com
Last year, when the AI hype really exploded, the 'go to' library to build AI solutions in .NET at that time from Microsoft was Semantic Kern...| bartwullems.blogspot.com
In this post I described how I tried (and failed) to add an interceptor for Enum.ToString(), due to a bug in the Roslyn compiler.| Andrew Lock | .NET Escapades
In this post I discuss the new single-file .NET run experience, in which you can run a C# file directly, without needing a csproj project file| Andrew Lock | .NET Escapades
I’ve had a few conversations about async code recently (and not so recently) and seen some code that seems to make wrong assumptions about async, so I figured out it was time to have a serious chat about async, what it’s for, what it guarantees and what it doesn’t.| Il y a du thé renversé au bord de la table !
Cuando sabes que tu aplicación va a ir a producción en Kubernetes desde el minuto cero, lo último que quieres es mantener un docker-compose.yml, un .aspire.app, un conjunto de manifiestos k8s/, y encima repetir la configuración en CI/CD. La tentación de crear “entornos de desarrollo paralelos” es alta, pero el coste a medio plazo también lo es.| JMFLORESZAZO
Getting started in the world of AI development can be a challenge. Every day new libraries, models and possibilities appear. So what is your...| bartwullems.blogspot.com
So far my ‘go to’ approach for using language models locally was through Ollama and Semantic Kernel. With the announcement of Foundry Local ...| bartwullems.blogspot.com
In Unity, coroutines are essentially methods that execute across several frames. They are, in a sense, some syntactic sugar that lets you avoid having to keep track of the state of a sequence of operations (for instance, fading from one color to another) in member variables of a behavior. Instead, all state can be method-local. Refer […]| IceFall Games
En sistemas distribuidos que usan bases de datos relacionales como SQL Server, es común que múltiples hilos o procesos intenten leer y modificar simultáneamente la misma entidad. Este fenómeno se llama concurrencia y, lejos de ser un bug, es una consecuencia natural de los entornos altamente paralelos y asincrónicos.| JMFLORESZAZO
En arquitecturas distribuidas con Service Bus (como Azure Service Bus, RabbitMQ o NServiceBus), es común recibir mensajes que provocan cambios en nuestro modelo de dominio. Pero… ¿qué ocurre cuando ese modelo ya fue modificado por otro proceso?| JMFLORESZAZO
¿Qué es NewSQL y por qué importa?| JMFLORESZAZO
¿Y ahora qué? Del experimento a la herramienta| JMFLORESZAZO
Uni is taking too much of my time, and so I cannot work much on Project Reality and lxmonika.| My Reality Blog
Microsoft has developed a new simplified way of running C# from the command line, designed both for scripting […]| DEVCLASS
The Phi family keeps growing with the recent introduction of the Phi-4-Reasoning, Phi-4-mini and Phi-4-multimodal models. These new models i...| bartwullems.blogspot.com
I wrote a simple C# class to serve static files in a given directory. It is easy to use as other known single line HTTP servers for Python, Ruby, Node.js and so on.| Can Güney Aksakalli
This post is composed of infographics on the basics of compilation assembly and compiler optimizations. We're going to be learning about compilation, assembly code and folds in C# and C++.| LevelUp++
Exploring a new contract gig using C# .NET and delving into indie game development with an existing iOS game. Join my journey on Twitch and YouTube!| Petros Amoiridis
When I went to find the iconic books to learn the .NET stack I came to a shocking realization. There are too many books! 53 books; 30,656 pages; over 757 hours.| Kerrick Long's Blog - Articles about programming, learning, code, books, and ...
LINQ (which stands for Language Integrated Query) is a library of collection manipulation methods that makes organizing and picking data out of collections much easier. LINQ can save a lot of time that would otherwise be spent writing complicated for or foreach loops. As with the nature of collections in programming, sometimes you will be working with gargantuan data sets and other times with smaller yet complicated collections.| Keyhole Software
OpenFeature Contributor Spotlight| OpenFeature Blog
Announcing the 2.0 Release of the OpenFeature SDK for .NET| OpenFeature Blog
Microsoft has released Visual Studio 2022 17.13, with long-awaited fixes including the ability to set the default text […]| DEVCLASS
This blog shows how to implement a delegated OAuth 2.0 Token Exchange RFC 8693 flow in ASP.NET Core, and has a focus on access token management. It looks at how the OAuth Token Exchange can be impl…| Software Engineering
I’m a massive fan of everything Fabien Sanglard does, I love his blog and I’ve read both his books cover-to-cover (for more info on his books, check out the recent Hansleminutes podcast).| Performance is a Feature!
Generics in C# are certainly very useful and I find it amazing that we almost didn’t get them:| Performance is a Feature!
Just over a year ago Google made all the open source code on GitHub available for querying within BigQuery and as if that wasn’t enough you can run a terabyte of queries each month for free!| Performance is a Feature!
Turns out that what I’d always thought of as “Compiler magic” or “Syntactic sugar” is actually known by the technical term ‘Lowering’ and the C# compiler (a.k.a Roslyn) uses it extensively.| Performance is a Feature!
In my previous post, I talked about some of the general performance lessons that can be learnt from the Roslyn project. This post builds on that and looks at specific examples from the code base.| Performance is a Feature!
At Build 2014 Microsoft open source their next-generation C#/VB.NET compiler, called Roslyn. The project is hosted on codeplex and you can even browse the source, using the new Reference Source browser, which is itself powered by Roslyn (that’s some crazy, meta-recursion going on there!).| Performance is a Feature!
When I build and release new features or bug fixes for RestAssured.Net, I rely heavily on the acceptance tests that I wrote over time. Next to serving as living documentation for the library, I run these tests both locally and on every push to GitHub to see if I didn’t accidentally break something, for different versions of .NET.| On Test Automation
How to create your own RSA key in .NET or load one from a JSON Web Key, a PEM file, or an X.509 certificate.| Scott Brady - scottbrady.io
How to sign XML in .NET and .NET Core using an RSA key while avoiding common XML security pitfalls.| Scott Brady
Drag your XML signing into the 2020's with modern cryptography by signing XML with ECDSA.| Scott Brady
Four different ways of loading Elliptic Curve (EC) keys in .NET for use with Elliptic Curve Digital Signature Algorithms (ECDSA).| Scott Brady
Learn how to use AES-GCM encryption in .NET for authenticated encryption, giving you the usual confidentiality and an additional integrity check.| Scott Brady
Learn the introductory theory behind XChaCha20-Poly1305, a standby cipher for symmetric encryption, and how to use it in .NET with libsodium or implement it yourself by 'rolling your own crypto' on top of Bouncy Castle.| Scott Brady
Learn how to load keys and certificates from PEM files in .NET. With code samples showing the new APIs added in .NET 5 and how to use PEM certificates with Kestrel.| Scott Brady
A primer on EdDSA and how to use it for JWT signing in .NET Core using Bouncy Castle and ScottBrady.IdentityModel.| Scott Brady
Branca, PASETO, XChaCha20-Poly1305, and Base62 support in .NET Core using ScottBrady.IdentityModel.| Scott Brady
How to implement custom signing algorithms for JWT validation in .NET Core, with examples using ES256K and Bouncy Castle.| Scott Brady
A look at the new RSASSA-PSS support in .NET Core and what benefits it has over RSASSA-PKCS1-v1_5| Scott Brady
Learn how to encrypt JSON Web Tokens with JSON Web Encryption in C#, .NET, and ASP.NET Core.| Scott Brady
How to sign and verify a JSON Web Token (JWT) using Elliptic Curve Digital Signature Algorithms (ECDSA) in .NET Core| Scott Brady
En el desarrollo con C#, una de las decisiones más importantes al modelar objetos es elegir entre clases mutables e inmutables. Este artículo explora sus características, ventajas, desafíos y ejemplos prácticos. En este artículo, utilizaremos las nuevas características de .NET 9.| JMFLORESZAZO
Retrieval-augmented regeneration, also known as RAG, is an NLP technique that can help improve the quality of large language models (LLMs). ...| bartwullems.blogspot.com
While browsing through the list of changes in .NET 9, I noticed a remark about the SearchValues functionality. I had no idea what it does s...| bartwullems.blogspot.com
Somebody published a new version of a NuGet package with a different assembly name. You’ll never guess what happens next.| Erik Heemskerk
MSBuild seems to have issues with transitive NuGet dependencies, but after a deep dive into the build logs, it turns out to be more subtle.| Erik Heemskerk
After looking at the new features for C# 7.1, let’s look at the things Microsoft is looking at to introduce in later versions of C#, especially C# 8.0.| Erik Heemskerk
Microsoft is going into point release with C#. I take a look at discards, async Main, tuple projection initializers, and pattern matching with generics.| Erik Heemskerk
Let’s take a look at C# 7.0’s features and what they have to offer.| Erik Heemskerk
Découvrez les nouveautés de .NET 9 et C# 13 : amélioration du mot-clé params, type Lock, GUID avec des exemples pratiques.| Le blog de Cellenza
Yesterday I talked about OllamaSharp as an alternative (to Semantic Kernel) to talk to your Ollama endpoint using C#. The reason I wanted to...| bartwullems.blogspot.com
In this post, I demonstrate enhancements to collections in .NET 9 and C# 13 with IAlternateEqualityComparer and AlternateLookup on a Dictionary.| Steve Gordon - Code with Steve
Though we don't really see as many of them as we used to, they are still with us. One helps indicate if a 10-key is in number or cursor mode. Another helps show when we use capital letters without holding the shift key. You might even have another to show if you accidentally hit the scroll lock key. I'm talking of course about keyboard state indicators. Most people only think of a keyboard as an output device, but given that it has a changeable state, it most definitely can be used for output...| Keyhole Software
The Sunrise Sort is a sorting algorithm with a unique property: it is fully unstable. Learn when and why this can be useful.| Alan Zucconi
This post shows how to implement a Swagger UI using a .NET 9 produced OpenAPI file. The Swagger UI is deployed to a secure or development environment and is not deployed to a public production targ…| Software Engineering
During a code review I noticed a file I had not seen before in this application; a GlobalUsings.cs file. When opening the file I noticed it...| bartwullems.blogspot.com
In this post I describe how to solve Error CS0433, where you have two types with the exact same name and namespace coming from two different packages| Andrew Lock | .NET Escapades
Introduction On Thursday (July 4th, 2024) the UK held a general election. There are many, many blog posts, newspaper articles, podcast episodes etc covering the politics of it, and the lessons that…| Jon Skeet's coding blog
Introduction I don’t know much about my blog readership, so let’s start off with two facts that you may not be aware of: I live in the UK. The UK has a general election on July 4th 2024…| Jon Skeet's coding blog
Photo by Steven Wright on Unsplash In late 2023, Alex Kladov published Push ifs up and fors down which essentially says the following (correct) statement: If there’s an if condition inside a functi…| Andy G's Blog
In this post I look at the code generated when you use collection expressions with List or with types that can be used with collection initializers| Andrew Lock | .NET Escapades
In this post I introduce C#12 primary constructors, describe the various ways to use them and how they work behind the scenes.| Andrew Lock | .NET Escapades
In a previous post (Automating memory profiling with the JetBrains dotMemory Profiler API), I described the steps that could be used to automate the collection of memory snapshots and profiling data by using the JetBrains Profiler API NuGet package. In that post, we triggered the profiling session using the dotMemory application on Windows. As part […] The post Profiling Memory Allocations on Linux using the JetBrains dotMemory Command-Line Profiler appeared first on Steve Gordon - Code wit...| Steve Gordon – Code with Steve
Learn about static analysis improvements coming in GCC 14 with -fanalyzer, which helps identify issues in C code at compile-time, rather than at runtime| Red Hat Developer
This article shows how an ASP.NET Core application can control the write access to an Azure blob storage container using an application app registration. Microsoft Entra ID is used to control the u…| Software Engineering
This article will explain how to create four dimensional objects, in a format compatible with the Unity4D extension. You can find all the articles in this series here: Introduction The past three articles in this series talked at length about hypercubes and hyperspheres. And while Part 1 gave some basic intuitions on how hyperobjects are […] The post Unity 4D #4: Creating 4D Objects appeared first on Alan Zucconi.| Alan Zucconi
This article will explain how to render 4D objects in Unity, using three separate technique: orthographic projection, perspective projection and cross-section. You can find all the articles in this series here: A link to download the Unity4D package can be found at the end of this article. Introduction It is undeniable that what makes hyperdimensional […] The post Unity 4D #3: Rendering 4D Objects appeared first on Alan Zucconi.| Alan Zucconi
This article will show how to extend Unity to support four-dimensional geometry. This is the second article in a series of four, and the first one which will probably start discussing the Mathematics and the C# code necessary to store and manipulate 4D objects in Unity. You can find all the articles in this series […] The post Unity 4D #2: Extending Unity to 4D appeared first on Alan Zucconi.| Alan Zucconi
A slippy map (sometimes also referred to as tiled web map, tile map, or simply interactive map) is a web-based map that can be zoomed in and out seamlessly. The most popular slippy map you might be familiar with is Google Maps, alongside many others like that. This tutorial will show you how to create […] The post Slippy Maps with Unity appeared first on Alan Zucconi.| Alan Zucconi
Seam carving is a technique that can be used to resize images, which is also known as liquid rescaling. Compared to the traditional resizing tool, it does not “stretch” the image, but it selectively removes the pixels which contain the least amount of information. As a result, it allows to shrink images preserving most of […] The post Seam Carving appeared first on Alan Zucconi.| Alan Zucconi
Polar Bears sit around Holes in the Ice like Petals on a Flower. … More Using Discord For My Nefarious Purposes!| Keith M. Programming
Vehicle-like mechanics for Unity’s NavMesh system.| Keith M. Programming
In this post I provide an introduction to default interface methods, how they work at a high level, their typical uses, and some of their sharp edges| Andrew Lock | .NET Escapades
JacksonDunstan.com covers game programming| www.jacksondunstan.com