I’m writing this post with a lot of excitement, once again! I’ve received the notification that I’ve been renewed as a Microsoft MVP for the Developer Technologies category! This is already my third renewal, and I’m still just as grateful and excited as the first time! I forgot to write a blog post about this last year, but I did want to take a moment to reflect on the past…
Table Of Contents Introduction Teaching Agents About Your Dependencies Shipping Agent Skills Together With Your Library Finishing up Introduction Link to heading Like many developers, my approach to software development has changed a lot with the rise of AI. However, whenever I am using a library, I notice that the quality of AI Coding Agents drops. Deprecated or old ways of working are used, code…
Table Of Contents Introduction What is TUnit? Installing TUnit Writing your first test IDE Support Feature comparison with other testing frameworks Benchmarks Setting up the xUnit test project Setting up the benchmarks Benchmark results Finishing up info This blog post is part of the C# Advent 2024 calendar! You’ll find other helpful blog posts about C# and .NET there, so I recommend you…
Introduction Link to heading I’m excited to announce the release of my latest Hacktoberfest project: Readme Auto Open. You can find the source code on GitHub and the extension in the Visual Studio Code Marketplace. Give it a try, and let me know what you think by leaving a rating! What is Readme Auto Open? Link to heading I’ve found that one of the biggest challenges when onboarding…
Table Of Contents Introduction What is a “CRUD” API? Introducing Data API Builder Installing and using DAB What else does DAB give us? DAB’s configuration file Relationships between entities Extending DAB Executing API calls in stored procedures Executing serverless functions Hosting Docker Azure Static Web Apps Finishing up Conclusion Links to the demo Get yourself a DAB…
I’m writing this post with a lot of excitement! Earlier this week I’ve received the notification that I’ve been renewed as a Microsoft MVP for the Developer Technologies category! This is my second year as an MVP and I’m very grateful! As this was my first renewal I was a bit nervous! However, I’m very happy to see that my contributions to the community have been…
Table Of Contents Introduction Building API’s is problematic Managing the clients Keeping changes in sync Exposing API capabilities Introducing OpenAPI What is OpenAPI? A brief history The OpenAPI specification Design-first vs code-first OpenAPI tooling ❤️ Generating API clients Language support API client generators Let’s automate the process! Writing a script for generating API…
Table Of Contents Introduction The problem The solution Setting up the reverse proxy Configuring the front-end What about other monitoring tools? Finishing up info This blog post is part of the C# Advent 2023 calendar and .NET Advent 2023 calendar! You’ll find other helpful blog posts about C# and .NET there, so I recommend you check it out! PS: Even though this post is “christmas…
Table Of Contents Introduction Configuration in .NET The basics Access structured data How does this all work? Treating configuration as code Options pattern Dependency injection Validation Configuration lifetimes Secret management during development The user secrets configuration provider Using user secrets Setting up a project that uses user-secrets My template for configuration management…
Table Of Contents Introduction Approaching the problem Identifying the problem Looking for the solution The solution Explanation Finishing up Introduction Link to heading Some time ago I added MVP referral codes as query parameters to outgoing links to Microsoft websites in my blog posts. I had to go through all of my blog posts to find links to Microsoft websites and add them manually. I found…
Table Of Contents Introduction Explaining Bogus Code example Determinism Using Bogus and EF core together in a demo application Entities EF Core configuration Setting up seed data Final result Alternatives Seed data without migrations Finishing up Introduction Link to heading If you have ever worked with setting up a database for a new project, you likely used some type of data seeding to populate…
Table Of Contents Introduction The problem with the figure shortcode Creating my own shortcode Using the HTML picture element and prefers-colors-scheme media feature Final result Source code Finishing up Introduction Link to heading Happy new year everyone! This will be a short blog post to start my 2023 blogging year! Supporting dark and light themes on websites is very important to me. My…
Amazing news! I have received the Microsoft MVP award for Developer Technologies! This award is a testament to my passion for technology and dedication to share knowledge and expertise with others. This year my goal was to really focus on sharing knowledge with others and to start speaking at events, which was a challenge to get more out of my comfort zone as well! I can definitely say that I have…
The beautiful image above sadly isn’t my work setup, but with this blog post you can make yours look as cool by connecting to your work laptop remotely 😉! Photo by Amr Taha™ on Unsplash. Table Of Contents Introduction RDP (Remote Desktop Protocol) Configuring the network Testing the connection Using your own audio/video setup on the work laptop Using multiple monitors Hiding the annoying…
Table Of Contents Introduction The problem: Client-side business logic The importance of server-side validation Why is this such a big problem? So, how do we update all our clients without updating them? Explaining HATEOAS Solving the problem Finishing up info This blog post is a companion to my Learning to ❤ HATEOAS talk! If you are unable to visit a session of this talk, you can read this blog…
info This article is a translated version of the Dutch version that I wrote for my employer’s website some time ago. I translated it in to English and posted it here so it can reach a bigger audience and help more people! Most developers nowadays use a program like git to manage different versions of their code, and to make working together with others easier. This is also known as a vcs, a…
Welcome! It’s good to have you here! As you can see, the site is currently lacking a bit of content! I am still trying to learn the ins and outs of Hugo! But I have big plans for the future! I want to start writing more blog posts, perhaps make some tutorials on YouTube, etc.. If you are interested, perhaps consider adding the RSS feed to your RSS reader, or you know, come back later!