Artificial Intelligence tools are quickly becoming an essential part of modern software development, and GitHub Copilot continues to lead the way in helping developers write code faster, solve problems more efficiently, and accelerate delivery timelines.
Well, the day has come, the pricing world has been flipped on its head. What does this mean for us? What does this mean for AI usage as a whole, and what should we do? I'll dive into all of this myself in this post, based on initial reactions in the first few hours of the billing change.
We have been in the honeymoon period with GitHub Copilot over the last 12 months, amazing functionality, huge improvements in productivity, and the ability to do things that are just amazing. That all came with some really, really low pricing, but that is all about to change, and the method of that change is still very much up in the air, but it is something that we need to plan for, and be ready!
With technology evolving at the speed of light, it is hard to manage upgrades and updates. Sometimes it is easy to get lulled into the "It builds" so its good enough mindset. However, there are a few quick steps that you can take to help reduce the burden of doing things the "right" way.
We love to think that users are proper in how they interact with our applications, or that they are able to do things in a way that is consistent with expectations. But, we all know that isn't actually the way life works! The 404 response is not only important for users, but it is also valuable for bots/search engines to disclose content that has been removed or otherwise. Lets dive in to how to…
Recently, when setting up CI/CD for a .NET MAUI project, I had a heck of a time getting what should have been a simple command to build, nothing like a bit of debugging issues to waste an afternooon. So I thought I'd spare everyone the hassle and share my experience hoping it helps you out!
Blazor provides a number of helpful utilities to manage content and flows within your application, but at times you may encounter conflicts, especially when individual pages need to override items set at the Layout or even app level. A great example of this is SEO inclusions. Sections are your friend for this situation. Let's dive in!
Agents are all the rage today, but what happens when we start using multiple agents together? Can we improve the overall accuracy of our results? Can we reduce the total time to develop a feature? Let's dig in and find out!
Humanizer is a great open source library for taking things that aren't human friendly and making them human friendly, and it has amazing support for different locales and such. However, the default installation package includes a LOT of languages, and many times individuals are overwhelmed with the clutter that happens with it. Lets explore some procedures that you can use to trim this down.
A few months ago I discussed some basic configuration elements for the then "freshly released" Copilot Coding Agents. A lot has happened in the last 4-6 months, and I thought it would be worthwhile to revisit things a bit and show how to get started with your projects.
I'm a huge fan of Entity Framework Migrations, using them for almost all client projects. In a given week, I will see dozens of changes deploy to production successfully across our portfolio of projects. However, there is always that "one task" that results in a failure and each time it happens it triggers an update to our internal training and review processes, and it has to do with repeatable…
With the recent preview release of GitHub CoPilot Agents, the importance of proper instructions for the agents is as important as it ever has been. But how do I effectively manage this when we have limits on the prompting depth and what items it has access to?
I'm an avid supporter of Open Source software; I maintain multiple projects, contribute to others, and sponsor developers across numerous projects I use or care about. However, there has been a recent trend in license changes with open source software that create a unique and real risk to companies and development teams that could go unnoticed and result in a catastrophic impact on organizations.…
There are many discussions regarding the cadence of upgrades and the burden of keeping up to date with the .NET releases, but that is all a topic for another day. Today, I want to take a moment and talk about the unsung heroes of constant updates: improved performance!
ASP.NET Identity is fantastic and provides a quick method for implementing user security in your applications, however, the process of inserting system defaults is not exactly the most straight forward and there are many ways to look at it, so lets explore some options.
The most common deployment process for Windows implementations of .NET MAUI Blazor applications is to utilize the automatic MSIX package creation. However, there are situations where you may need to deploy your application as a simple exe so you can deploy it to the location of your choice or as in my case so that I could pass parameters at launch to the application.
Windows 11 added the ability to set up a Dev Drive that is targeted for key developer workloads, and after soliciting some experience from others, I thought I would try it out myself. The results were impressive and immediate, and something I'm rolling out to our entire team.
Over the past few years, AI model growth has been exponential, providing a robust collection of tools that can be utilized to streamline many operations that can benefit from machine learning operations. Although some may see AI models as simply "better search engines," there is a lot more that you can utilize ChatGPT or otherwise for; however, it requires careful consideration & planning. Let's…
I recently wasted more time than I care to admit working through an issue where I was getting build errors that did not make sense. I was trying to set up the build/publish of a .NET MAUI application, and I wanted to inject my certificate using a GitHub Actions Secret, and it failed miserably; this post explores the issue and resolution.
So much has changed in the .NET Mobile Development world in the past few years. This blog post investigates the current process to migrate from Xamarin Forms to .NET MAUI. Including some helpful tips, links to documentation, and real-world feedback after completion of numerous transitions.
Projects can evolve over time, and the history of granular migrations within Entity Framework can result in a bloated change history. Additionally, changes can occur within Entity Framework tooling that may result in code warnings or other similar concerns. Resetting your migrations to squash the history can be a very helpful process, however it requires precision and care.
As 2022 starts to come to a close and the insanity of the holiday shopping season sets in, don't forget to think about supporting organizations that make a positive contribution in your communities. After the loss of my 3 year old daughter in April of 2022, I find myself especially reflective on supporting others this season.
ASP.NET Core provides two primary methods allowing developers to cache information; IMemoryCache and IDistributedCache. Selecting the proper caching implementation requires an understanding of your application, your future goals, and the features of both options. This post explores cache strategies.
As a software architect, I'm always looking for better ways to optimize my development patterns, reduce the lines of code, and improve the overall maintainability of the code that I write. Recently I took a deep dive into my usage of Boostrap with ASP.NET and created a number of Tag Helpers that have exponentially improved my productivity, and made it all open source!
Not all projects will utilize OAuth or Azure AD, and .NET MAUI Blazor Hybrid is no different! In this post I take a look under the covers at how you can implement you own custom solution for authentication within MAUI Blazor and take control of your application without ripping your hair out.