<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Kevin W. Griffin - Azure &amp; .NET Architect</title><description>Articles on ASP.NET Core, Microsoft Azure, SignalR, and modern web development from a 16-time Microsoft MVP.</description><link>https://consultwithgriff.com/</link><language>en-us</language><item><title>How Claude Helped Me Apply for My 17th Microsoft MVP Renewal</title><link>https://consultwithgriff.com/how-claude-helped-with-my-mvp-application/</link><guid isPermaLink="true">https://consultwithgriff.com/how-claude-helped-with-my-mvp-application/</guid><description>How I used Claude to compress a year&apos;s worth of MVP renewal busywork into something that didn&apos;t ruin my month.</description><pubDate>Tue, 28 Apr 2026 00:00:00 GMT</pubDate></item><item><title>How C# Strings Silently Kill Your SQL Server Indexes in Dapper</title><link>https://consultwithgriff.com/dapper-nvarchar-implicit-conversion-performance-trap/</link><guid isPermaLink="true">https://consultwithgriff.com/dapper-nvarchar-implicit-conversion-performance-trap/</guid><description>A common Dapper pattern that causes SQL Server to ignore your indexes and scan entire tables.</description><pubDate>Thu, 05 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Engineering for System Uptime | Azure DevOps Podcast Episode 387</title><link>https://consultwithgriff.com/engineering-for-system-uptime-azure-devops-podcast/</link><guid isPermaLink="true">https://consultwithgriff.com/engineering-for-system-uptime-azure-devops-podcast/</guid><description>I joined Jeffrey Palermo on the Azure DevOps Podcast to talk about engineering for system uptime. We covered lessons learned from 20+ years of building reliable systems across military, healthcare, and ticketing industries, plus upcoming events like Hampton Roads DevFest 2026 and Stir Trek.</description><pubDate>Wed, 11 Feb 2026 12:00:00 GMT</pubDate></item><item><title>SQL Server Pagination with COUNT(*) OVER() Window Function</title><link>https://consultwithgriff.com/sql-pagination-count-over-trick/</link><guid isPermaLink="true">https://consultwithgriff.com/sql-pagination-count-over-trick/</guid><description>A simple SQL Server trick that eliminates the need for separate count queries when building paginated APIs.</description><pubDate>Fri, 30 Jan 2026 00:00:00 GMT</pubDate></item><item><title>What&apos;s New in C# 14: Extension Members</title><link>https://consultwithgriff.com/csharp-14-extension-members/</link><guid isPermaLink="true">https://consultwithgriff.com/csharp-14-extension-members/</guid><description>Explore how C# 14 extension members let you add computed properties to existing .NET types.</description><pubDate>Mon, 08 Dec 2025 00:00:00 GMT</pubDate></item><item><title>Framework 16 Laptop Review</title><link>https://consultwithgriff.com/framework-16-laptop-review/</link><guid isPermaLink="true">https://consultwithgriff.com/framework-16-laptop-review/</guid><description>A deep dive into the Framework 16 laptop experience, covering everything from build quality and performance to the innovative modular design that promises to revolutionize how we think about laptop ownership and sustainability.</description><pubDate>Tue, 26 Aug 2025 00:00:00 GMT</pubDate></item><item><title>Tech Communities, AI in Development and Roller Coasters | Fervent Four Podcast</title><link>https://consultwithgriff.com/fervent-four-podcast-tech-communities/</link><guid isPermaLink="true">https://consultwithgriff.com/fervent-four-podcast-tech-communities/</guid><description>Last week I had the pleasure of being on the Fervent Four podcast with Zack Miller and Tim Ryan.  We talked about vibing coding and how AI needs to be handled the same way using offshore talent is handled.  We discussed roller coasters (because of course) and the origin of my Shedquarters!  And talked a lot also about the software development community in the Norfolk / Virginia Beach area.</description><pubDate>Tue, 10 Jun 2025 10:00:00 GMT</pubDate></item><item><title>Azure Cloud Talk Podcast: The Accidental CTO</title><link>https://consultwithgriff.com/azure-cloud-talk-accidental-cto/</link><guid isPermaLink="true">https://consultwithgriff.com/azure-cloud-talk-accidental-cto/</guid><description>I joined Azure Cloud Talk to chat about my journey as an &apos;accidental CTO&apos; and share some honest thoughts on AI tools (including my love-hate relationship with Cursor Composer). We talked about the real challenges of software development, why I prefer stable brownfield projects over shiny new tech, and my controversial take that building greenfield software is like having a newborn – painful but somehow we forget and do it again.</description><pubDate>Mon, 03 Mar 2025 12:00:00 GMT</pubDate></item><item><title>My $8,000 Serverless Mistake</title><link>https://consultwithgriff.com/my-8000-serverless-mistake/</link><guid isPermaLink="true">https://consultwithgriff.com/my-8000-serverless-mistake/</guid><description>What started as a cost-effective solution ballooned into a costly oversight as Azure ramped up resources to handle the load. After this experience, I realized not every problem is a serverless problem and shifted memory-intensive tasks to Azure Container Apps, which provided better control over resources.</description><pubDate>Wed, 11 Dec 2024 00:00:00 GMT</pubDate></item><item><title>Azure Functions: No bindings were found in the function $func</title><link>https://consultwithgriff.com/azure-function-no-bindings-found-in-function/</link><guid isPermaLink="true">https://consultwithgriff.com/azure-function-no-bindings-found-in-function/</guid><description>How do you resolve a &apos;No bindings were found in the function $func&apos; error when using Azure Functions?</description><pubDate>Thu, 31 Oct 2024 00:00:00 GMT</pubDate></item><item><title>Hampton Roads DevFest 2024 Retrospective</title><link>https://consultwithgriff.com/hampton-roads-devfest-2024-retrospective/</link><guid isPermaLink="true">https://consultwithgriff.com/hampton-roads-devfest-2024-retrospective/</guid><description>On May 31st, 2024, Hampton Roads DevFest successfully re-engaged the local developer community in Virginia Beach, Virginia, with 183 attendees. Organized by the non-profit RevolutionVA, the event featured local speakers and took place at the Zeider&apos;s American Dream Theater, chosen for its affordability and unique setting. Ticket sales and sponsorships, including support from Microsoft, contributed to the event&apos;s income, though it ended with a net loss of $486.63. Despite this, the event was deemed a success, effectively revitalizing the community and providing valuable insights for future events.</description><pubDate>Tue, 25 Jun 2024 00:00:00 GMT</pubDate></item><item><title>HttpContext Issues with Azure SignalR Service</title><link>https://consultwithgriff.com/httpcontext-issues-azure-signalr-service/</link><guid isPermaLink="true">https://consultwithgriff.com/httpcontext-issues-azure-signalr-service/</guid><description>Last week, the team and I were migrating an application built with ASP.NET Core and SignalR to use the Azure SignalR Service. We ran into an issue with the HttpContext when using Azure SignalR Service. Unlike in a normal SignalR integration, where you can access HttpContext via IHttpContextAccessor in the Hub class, with Azure SignalR Service the connection changes, affecting the available HttpContext data. This required a shift in our approach, leading us to directly pass the necessary information from the client to the hub.</description><pubDate>Tue, 12 Dec 2023 08:00:00 GMT</pubDate></item><item><title>Five Reasons Why I Love HangFire</title><link>https://consultwithgriff.com/five-reasons-why-i-love-hangfire/</link><guid isPermaLink="true">https://consultwithgriff.com/five-reasons-why-i-love-hangfire/</guid><description>Setting up HangFire in my .NET applications is effortless. This library helps me offload the strenuous tasks from my web applications by establishing background services using my existing code without requiring special interfaces. Its dashboard is handy for managing jobs and gives me a clear view of the active, failed, and scheduled jobs. For scheduling and recurring jobs, HangFire provides flexible configurations. If it fails, it&apos;ll make multiple attempts to run a job, making debugging a breeze for me.</description><pubDate>Wed, 21 Jun 2023 08:00:00 GMT</pubDate></item><item><title>Building Background Services with HangFire Course Launch!</title><link>https://consultwithgriff.com/building-background-services-with-hangfire-course-launch/</link><guid isPermaLink="true">https://consultwithgriff.com/building-background-services-with-hangfire-course-launch/</guid><description>As I&apos;ve been going on the road to talk about background services within the .NET ecosystem, one of my favorites has HangFire. I&apos;ve been using HangFire in my applications for years, and it&apos;s been a vital tool for offloading some of the heavy lifting from my web applications.</description><pubDate>Mon, 03 Apr 2023 08:00:00 GMT</pubDate></item><item><title>Building Windows Services in .NET 7</title><link>https://consultwithgriff.com/building-window-services-in-dotnet/</link><guid isPermaLink="true">https://consultwithgriff.com/building-window-services-in-dotnet/</guid><description>In preparation for my latest talk on Tactics for Building Background Services in .NET, I&apos;ve been working on a sample project to demonstrate the concepts. It&apos;s amazing how much easier it is to build Window Services today than it used to be!</description><pubDate>Tue, 06 Dec 2022 08:00:00 GMT</pubDate></item><item><title>Reconsidering Vanity Metrics</title><link>https://consultwithgriff.com/vanity-metrics/</link><guid isPermaLink="true">https://consultwithgriff.com/vanity-metrics/</guid><description>I have an obsession with vanity metrics. They&apos;re not supposed to be useful, but I think there is an excellent arguement for tracking them.</description><pubDate>Wed, 23 Nov 2022 08:00:00 GMT</pubDate></item><item><title>Fewer Buzzwords, Better Teams</title><link>https://consultwithgriff.com/fewer-buzzwords-better-teams/</link><guid isPermaLink="true">https://consultwithgriff.com/fewer-buzzwords-better-teams/</guid><description>Our team with one product grew to include two new teams.  This meant more people, larger tech stack, and more complexity when it came to support and future growth.</description><pubDate>Fri, 18 Nov 2022 08:00:00 GMT</pubDate></item><item><title>SignalR Mastery Year in Review 2022</title><link>https://consultwithgriff.com/signalr-mastery-year-in-review-2022/</link><guid isPermaLink="true">https://consultwithgriff.com/signalr-mastery-year-in-review-2022/</guid><description>In 2021, I released SignalR Mastery on Udemy.  After the first year, I wanted to take a moment to reflect on my journey of building and releasing the course.</description><pubDate>Mon, 17 Jan 2022 08:00:00 GMT</pubDate></item><item><title>Rapid Project Upgrades with the .NET Upgrade Assistant</title><link>https://consultwithgriff.com/rapid-project-upgrades-with-dotnet-upgrade-assistant/</link><guid isPermaLink="true">https://consultwithgriff.com/rapid-project-upgrades-with-dotnet-upgrade-assistant/</guid><description>I knew that I wanted to move this application to .NET 6, as it would be the new LTS version, and I was foregoing several dependency updates.  In particular, there was one dependency that was still based on .NET Framework that was giving me concern.  It never made the jump to .NET Standard, so I worried about future compatibility.</description><pubDate>Wed, 08 Dec 2021 08:00:00 GMT</pubDate></item><item><title>Streaming an MP4 to Twitch and YouTube with FFMPEG</title><link>https://consultwithgriff.com/streaming-mp4-to-twitch-youtube-with-ffmpeg/</link><guid isPermaLink="true">https://consultwithgriff.com/streaming-mp4-to-twitch-youtube-with-ffmpeg/</guid><description>In this post, I discuss how I was able to &apos;stream&apos; an MP4 LIVE to YouTube and Twitch using FFMPEG</description><pubDate>Fri, 09 Apr 2021 11:00:00 GMT</pubDate></item><item><title>Does SignalR Guarantee Message Deliverability?</title><link>https://consultwithgriff.com/signalr-message-guarantee-deliverability/</link><guid isPermaLink="true">https://consultwithgriff.com/signalr-message-guarantee-deliverability/</guid><description>Kevin, I have two clients.  Client 1 sends a message to client 2.  Client 1 loses its connection to the server.  Client 2, during this time, sends a message to Client 1.  That message is lost because Client 1 was disconnected.  How can we solve this problem?</description><pubDate>Tue, 06 Apr 2021 11:00:00 GMT</pubDate></item><item><title>SignalR AbortController is Undefined on Older Browsers</title><link>https://consultwithgriff.com/signalr-abortcontroller-undefined/</link><guid isPermaLink="true">https://consultwithgriff.com/signalr-abortcontroller-undefined/</guid><description>Recently, I updated a client application to the latest versions of SignalR (including the NPM module). One of our users uses a SmartTV to view the page, and it stopped working due to &apos;AbortController is Undefined&apos;.</description><pubDate>Wed, 03 Mar 2021 11:00:00 GMT</pubDate></item><item><title>Converting Epoch Time into DateTime with Azure Logic Apps</title><link>https://consultwithgriff.com/azure-logic-apps-epoch-time/</link><guid isPermaLink="true">https://consultwithgriff.com/azure-logic-apps-epoch-time/</guid><description>Recently, I&apos;ve been building a handful of Azure Logic Apps that work with Stripe webhooks and I&apos;ve need to convert Epoch DATETIME into a more useful format.</description><pubDate>Wed, 24 Feb 2021 00:00:00 GMT</pubDate></item><item><title>Monitoring ASP.NET Core Application Health with Health Checks 🩺</title><link>https://consultwithgriff.com/monitoring-aspnet-core-application-health-with-health-checks/</link><guid isPermaLink="true">https://consultwithgriff.com/monitoring-aspnet-core-application-health-with-health-checks/</guid><description>Failures in your application often are not just because the code you wrote is bad, it&apos;s often because services or dependencies you depend on are having an issue.  Health Checks in ASP.NET Core help you identify the problem areas.</description><pubDate>Tue, 23 Feb 2021 00:00:00 GMT</pubDate></item><item><title>🚀 Launched Today!  SignalR Mastery 🚀</title><link>https://consultwithgriff.com/signal-mastery-launched/</link><guid isPermaLink="true">https://consultwithgriff.com/signal-mastery-launched/</guid><description>Do you want to become a master in building real-time applications on .NET?  My new course is designed to take you on a journey through all the bits and advanced topics of SignalR, a real-time communication library built on .NET!</description><pubDate>Wed, 13 Jan 2021 00:00:00 GMT</pubDate></item><item><title>How to Debug CSS/JavaScript Mouse or Hover Events</title><link>https://consultwithgriff.com/debug-javascript-css-hover-mouseover-events/</link><guid isPermaLink="true">https://consultwithgriff.com/debug-javascript-css-hover-mouseover-events/</guid><description>You&apos;re working on an issue the requires to debug or style an element on a page that ONLY appears in the course of a hover or mouse-over event.  However, when the event is not occurring, the element you want to work with does not exist in the DOM.</description><pubDate>Mon, 11 Jan 2021 00:00:00 GMT</pubDate></item><item><title>Managing SignalR ConnectionIds (or why you shouldn&apos;t)</title><link>https://consultwithgriff.com/signalr-connection-ids/</link><guid isPermaLink="true">https://consultwithgriff.com/signalr-connection-ids/</guid><description>One of the commons issues I see when reading questions on StackOverflow or Reddit is that many SignalR users do not know how to effectively manage connections their hubs. Or worse, they make mistakes that&apos;ll cause performance problems in the long run.</description><pubDate>Wed, 09 Dec 2020 00:00:00 GMT</pubDate></item><item><title>Installing .NET 5 for Beginners</title><link>https://consultwithgriff.com/installing-dotnet-5-for-beginners/</link><guid isPermaLink="true">https://consultwithgriff.com/installing-dotnet-5-for-beginners/</guid><description>Are you new to .NET, and you&apos;re looking at how to get started?  This video is just for you!</description><pubDate>Wed, 18 Nov 2020 00:00:00 GMT</pubDate></item><item><title>How to Upgrade .NET CLI Templates</title><link>https://consultwithgriff.com/how-to-upgrade-dotnet-cli-templates/</link><guid isPermaLink="true">https://consultwithgriff.com/how-to-upgrade-dotnet-cli-templates/</guid><description>How do you update the .NET CLI templates?  Turns out there is a command just for you!</description><pubDate>Wed, 14 Oct 2020 00:00:00 GMT</pubDate></item><item><title>Crazy Web Performance with Azure Static Web Apps and Azure Functions</title><link>https://consultwithgriff.com/crazy-web-performance-azure-static-web-apps-and-functions/</link><guid isPermaLink="true">https://consultwithgriff.com/crazy-web-performance-azure-static-web-apps-and-functions/</guid><description>With the new Azure Static Web Apps, you can include Azure Functions as a part of your deployment which gives you the best of both worlds when you deploy static sites.  Crazy performance, but access to Azure Functions when you absolutely need to write a little bit of code.</description><pubDate>Tue, 15 Sep 2020 00:00:00 GMT</pubDate></item><item><title>Single Page Architectures with Vue.JS and ASP.NET Core</title><link>https://consultwithgriff.com/spas-with-vuejs-aspnetcore/</link><guid isPermaLink="true">https://consultwithgriff.com/spas-with-vuejs-aspnetcore/</guid><description>Thanks for attending my session on building Single Page Architectures with Vue.JS and ASP.NET Core.</description><pubDate>Mon, 17 Aug 2020 00:00:00 GMT</pubDate></item><item><title>Stockholm Clients</title><link>https://consultwithgriff.com/stockholm-clients/</link><guid isPermaLink="true">https://consultwithgriff.com/stockholm-clients/</guid><description>What happens when an amazing client turns into a nightmare client in the matter of weeks.  You might be dealing with a Stockholm Client.</description><pubDate>Mon, 17 Aug 2020 00:00:00 GMT</pubDate></item><item><title>How to Redirect with Azure Static Web Apps</title><link>https://consultwithgriff.com/how-to-redirect-with-azure-static-web-apps/</link><guid isPermaLink="true">https://consultwithgriff.com/how-to-redirect-with-azure-static-web-apps/</guid><description>When deploying to Azure Static Web Apps, a common question that comes up is &apos;How do I do 301 redirects?&apos;. Let&apos;s explore how in this simple tutorial.</description><pubDate>Tue, 11 Aug 2020 00:30:00 GMT</pubDate></item><item><title>I Love Azure Static Web Apps</title><link>https://consultwithgriff.com/i-love-azure-static-web-apps/</link><guid isPermaLink="true">https://consultwithgriff.com/i-love-azure-static-web-apps/</guid><description>I&apos;ve spent a little bit of time working with Azure Static Web Apps in their preview phase, and it&apos;s an amazing solution to a couple core problems I had with deploying static apps.</description><pubDate>Wed, 05 Aug 2020 00:30:00 GMT</pubDate></item><item><title>Building Vue Services and Plugins</title><link>https://consultwithgriff.com/vue-services-plugins/</link><guid isPermaLink="true">https://consultwithgriff.com/vue-services-plugins/</guid><description>Thanks for attending Building Custom Vue Services and Plugins!</description><pubDate>Mon, 20 Jul 2020 00:30:00 GMT</pubDate></item><item><title>Adding reCAPTCHA to Static Sites with Azure Functions</title><link>https://consultwithgriff.com/recaptcha-static-sites-azure-functions/</link><guid isPermaLink="true">https://consultwithgriff.com/recaptcha-static-sites-azure-functions/</guid><description>My mailing list was suffering from spam signups due to an unprotected form.  Since it was a static site, I needed a solution that didn&apos;t require me to host infrastructure. In this article, I&apos;ll discuss how I used Azure Functions to process reCAPTCHA tokens for my static site.</description><pubDate>Mon, 25 May 2020 19:30:00 GMT</pubDate></item><item><title>Building a Twitch Badge For My Site</title><link>https://consultwithgriff.com/building-a-twitch-badge/</link><guid isPermaLink="true">https://consultwithgriff.com/building-a-twitch-badge/</guid><description>I wanted viewers of my site to know if and when I was currently streaming on my Twitch channel.  So I created a handy badge that tells them when I&apos;m online.  Here&apos;s how I did it!</description><pubDate>Mon, 18 May 2020 15:30:00 GMT</pubDate></item><item><title>What is Dapper, and why you should consider it for your .NET projects</title><link>https://consultwithgriff.com/what-is-dapper/</link><guid isPermaLink="true">https://consultwithgriff.com/what-is-dapper/</guid><description>I have a pretty firm opinion that if you&apos;re using a relational database with .NET, you need to have Dapper in your stack.</description><pubDate>Fri, 15 May 2020 09:30:00 GMT</pubDate></item><item><title>How do you call a stored procedure with Dapper?</title><link>https://consultwithgriff.com/dapper-stored-procedures/</link><guid isPermaLink="true">https://consultwithgriff.com/dapper-stored-procedures/</guid><description>Are you interested in using Dapper, but your database uses Stored Procedures?  No problem!</description><pubDate>Fri, 15 May 2020 08:30:00 GMT</pubDate></item><item><title>Better Object Mapping with Dapper Resources</title><link>https://consultwithgriff.com/dapper/</link><guid isPermaLink="true">https://consultwithgriff.com/dapper/</guid><description>Thanks for Better Object Mapping with Dapper!</description><pubDate>Thu, 14 May 2020 00:30:00 GMT</pubDate></item><item><title>21st Century Background Services Resources and Replays</title><link>https://consultwithgriff.com/21st-century/</link><guid isPermaLink="true">https://consultwithgriff.com/21st-century/</guid><description>Thanks for attending 21st Century Background Services!</description><pubDate>Wed, 13 May 2020 00:30:00 GMT</pubDate></item><item><title>The Dev Talk Show Recap and Resources</title><link>https://consultwithgriff.com/thedevtalkshow/</link><guid isPermaLink="true">https://consultwithgriff.com/thedevtalkshow/</guid><description>Thanks for attending The Dev Talk Show! Here are the resources and replay from our discussion about Logic Apps and Azure development.</description><pubDate>Thu, 07 May 2020 00:30:00 GMT</pubDate></item><item><title>Talking Remote Tools for Developers with Bret Fisher</title><link>https://consultwithgriff.com/remote-tools-with-bret-fisher-april-2020/</link><guid isPermaLink="true">https://consultwithgriff.com/remote-tools-with-bret-fisher-april-2020/</guid><description>Recently, I got to hang out with my friend Bret Fisher to talk about remote tools for developers.</description><pubDate>Tue, 14 Apr 2020 19:24:00 GMT</pubDate></item><item><title>How to run Visual Studio Code on Mac OSX</title><link>https://consultwithgriff.com/how-to-run-visual-studio-code-from-mac-osx/</link><guid isPermaLink="true">https://consultwithgriff.com/how-to-run-visual-studio-code-from-mac-osx/</guid><description>Using Visual Studio Code on OSX?  Here&apos;s how to set up the command line for Zsh or Terminal.</description><pubDate>Tue, 07 Apr 2020 13:27:04 GMT</pubDate></item><item><title>What Should My Consulting Termination Policy Be?</title><link>https://consultwithgriff.com/consultant-termination-policy/</link><guid isPermaLink="true">https://consultwithgriff.com/consultant-termination-policy/</guid><description>If you&apos;re working as an independent consultant or freelancer, what is a reasonable termination policy?</description><pubDate>Tue, 10 Mar 2020 22:28:00 GMT</pubDate></item><item><title>Enhancing Your Career with a Mastermind Group</title><link>https://consultwithgriff.com/enhancing-your-career-with-a-mastermind-group/</link><guid isPermaLink="true">https://consultwithgriff.com/enhancing-your-career-with-a-mastermind-group/</guid><description>When I quit my job to create my own business, I needed a group to help support me and give me advice. These MasterMind sessions were my key to growth and success.</description><pubDate>Fri, 08 Feb 2019 11:04:49 GMT</pubDate></item><item><title>Quick Introduction to SignalR Streaming</title><link>https://consultwithgriff.com/quick-introduction-to-signalr-streaming/</link><guid isPermaLink="true">https://consultwithgriff.com/quick-introduction-to-signalr-streaming/</guid><description>What is streaming in SignalR? I&apos;ll show you!</description><pubDate>Thu, 13 Dec 2018 23:39:46 GMT</pubDate></item><item><title>I Removed Email From My Phone</title><link>https://consultwithgriff.com/good-bye-email/</link><guid isPermaLink="true">https://consultwithgriff.com/good-bye-email/</guid><description>What&apos;s the next step after beating email addiction?</description><pubDate>Tue, 01 May 2018 09:54:52 GMT</pubDate></item><item><title>RevolutionConf 2017 Event Recap</title><link>https://consultwithgriff.com/revolutionconf-2017-event-recap/</link><guid isPermaLink="true">https://consultwithgriff.com/revolutionconf-2017-event-recap/</guid><description>RevolutionConf 2017 went fantastically!</description><pubDate>Thu, 08 Jun 2017 14:34:43 GMT</pubDate></item><item><title>Shedquarters</title><link>https://consultwithgriff.com/shedquarters/</link><guid isPermaLink="true">https://consultwithgriff.com/shedquarters/</guid><description>I upped my work at home game with a Shedquarters</description><pubDate>Fri, 26 May 2017 12:57:44 GMT</pubDate></item><item><title>About Blog Posts</title><link>https://consultwithgriff.com/about-blog-posts/</link><guid isPermaLink="true">https://consultwithgriff.com/about-blog-posts/</guid><description>After overhauling my personal site, I learned that I dislike the term `blog`.  Instead, I want to be more professional by writing `articles`.</description><pubDate>Wed, 03 May 2017 12:50:43 GMT</pubDate></item><item><title>Exploring C# 7.0: Out Variables</title><link>https://consultwithgriff.com/exploring-csharp70-out-variables/</link><guid isPermaLink="true">https://consultwithgriff.com/exploring-csharp70-out-variables/</guid><description>New in C# 7.0 - out variables will save you some time!</description><pubDate>Tue, 08 Nov 2016 18:41:48 GMT</pubDate></item><item><title>Powershell: How to recursively delete files based of file extension?</title><link>https://consultwithgriff.com/powershell-how-to-recursively-delete-files-based-of-file-extension/</link><guid isPermaLink="true">https://consultwithgriff.com/powershell-how-to-recursively-delete-files-based-of-file-extension/</guid><description>How do you recursiviely delete files based off file extension in PowerShell?</description><pubDate>Fri, 15 Jul 2016 14:15:43 GMT</pubDate></item><item><title>Open Source Mentality of Choosing Your Tech Stack</title><link>https://consultwithgriff.com/open-source-mentality-of-choosing-your-tech-stack/</link><guid isPermaLink="true">https://consultwithgriff.com/open-source-mentality-of-choosing-your-tech-stack/</guid><description>Exploring how open source considerations should impact your technology stack decisions and the value of support vs. free alternatives.</description><pubDate>Mon, 04 Jul 2016 16:06:21 GMT</pubDate></item><item><title>Non-Tech Factors to Consider When Choosing Your Tech Stack</title><link>https://consultwithgriff.com/non-tech-factors-to-consider-when-choosing-your-tech-stack/</link><guid isPermaLink="true">https://consultwithgriff.com/non-tech-factors-to-consider-when-choosing-your-tech-stack/</guid><description>Greenfield projects are typically a great deal of fun. It is something new and exciting! No legacy code that will bog down or needlessly frustrate the team.</description><pubDate>Tue, 10 May 2016 21:33:01 GMT</pubDate></item><item><title>The 10% Rule to Presentations</title><link>https://consultwithgriff.com/the-10-rule-to-presentations/</link><guid isPermaLink="true">https://consultwithgriff.com/the-10-rule-to-presentations/</guid><description>When mentoring new technical speakers, I like to cite what I call &apos;the 10% rule&apos;.</description><pubDate>Thu, 24 Mar 2016 09:18:59 GMT</pubDate></item><item><title>Managing Your User Group: Food</title><link>https://consultwithgriff.com/user-group-food/</link><guid isPermaLink="true">https://consultwithgriff.com/user-group-food/</guid><description>If you run a community, add some variety to your food choices.</description><pubDate>Tue, 13 Oct 2015 18:45:40 GMT</pubDate></item><item><title>Enable SignalR Logging with One Simple Line</title><link>https://consultwithgriff.com/signalr-logging/</link><guid isPermaLink="true">https://consultwithgriff.com/signalr-logging/</guid><description>How do you enable logging in SignalR?</description><pubDate>Fri, 28 Aug 2015 23:26:42 GMT</pubDate></item><item><title>SignalR Transports Explained</title><link>https://consultwithgriff.com/signalr-transports-explained/</link><guid isPermaLink="true">https://consultwithgriff.com/signalr-transports-explained/</guid><description>How do transports work in SignalR?</description><pubDate>Mon, 17 Aug 2015 21:52:00 GMT</pubDate></item><item><title>Banks, ATMS, and Horrible User Experiences</title><link>https://consultwithgriff.com/banks-atms-and-horrible-user-experiences/</link><guid isPermaLink="true">https://consultwithgriff.com/banks-atms-and-horrible-user-experiences/</guid><description>I had a horrible bank ATM experience.</description><pubDate>Mon, 03 Aug 2015 09:18:46 GMT</pubDate></item><item><title>Paying Attention</title><link>https://consultwithgriff.com/paying-attention/</link><guid isPermaLink="true">https://consultwithgriff.com/paying-attention/</guid><description>Don&apos;t assume. Pay attention.</description><pubDate>Thu, 23 Jul 2015 06:43:54 GMT</pubDate></item><item><title>Managing Your User Group: Locations</title><link>https://consultwithgriff.com/user-group-locations/</link><guid isPermaLink="true">https://consultwithgriff.com/user-group-locations/</guid><description>If you run a community, here are some things to consider when choosing a location.</description><pubDate>Thu, 02 Jul 2015 14:21:32 GMT</pubDate></item><item><title>How I&apos;m Beating Email Addiction</title><link>https://consultwithgriff.com/beating-email-addiction/</link><guid isPermaLink="true">https://consultwithgriff.com/beating-email-addiction/</guid><description>I used to be REALLY addicted to email.  When I use to wake up in the morning, first thing I would do is check my email on the phone.  After sitting at my desk, I would open my email tab and leave it up all day.  At night, I would habitually pull out my phone to see if a new email came in.  It was like I was a drug addict always needing a fix.  I couldn&apos;t do it anymore.</description><pubDate>Thu, 21 May 2015 09:54:52 GMT</pubDate></item><item><title>No matter what you do: add value</title><link>https://consultwithgriff.com/no-matter-what-you-do-add-value/</link><guid isPermaLink="true">https://consultwithgriff.com/no-matter-what-you-do-add-value/</guid><description>Always strive to add value in your interactions, whether with clients, colleagues, or potential business opportunities.</description><pubDate>Thu, 14 May 2015 11:38:29 GMT</pubDate></item><item><title>Managing Your User Group: Calendar Roulette</title><link>https://consultwithgriff.com/calendar-roulette/</link><guid isPermaLink="true">https://consultwithgriff.com/calendar-roulette/</guid><description>If you&apos;re running a community, pick a day and stick with it!</description><pubDate>Fri, 06 Mar 2015 22:39:16 GMT</pubDate></item><item><title>I suck at writing unit tests, but I&apos;m trying to change</title><link>https://consultwithgriff.com/i-suck-at-writing-unit-tests/</link><guid isPermaLink="true">https://consultwithgriff.com/i-suck-at-writing-unit-tests/</guid><description>A developer&apos;s honest reflection on struggling with unit testing and the journey to writing better tests for real-world applications.</description><pubDate>Thu, 26 Feb 2015 22:25:55 GMT</pubDate></item><item><title>Managing Your User Group: Sponsor Relationships</title><link>https://consultwithgriff.com/user-group-sponsor-relationship/</link><guid isPermaLink="true">https://consultwithgriff.com/user-group-sponsor-relationship/</guid><description>Who holds the leverage in a sponsor/user group relationship?</description><pubDate>Mon, 26 Jan 2015 11:58:38 GMT</pubDate></item><item><title>The Non-Techie Guide to Source Control</title><link>https://consultwithgriff.com/the-non-techie-guide-to-source-control/</link><guid isPermaLink="true">https://consultwithgriff.com/the-non-techie-guide-to-source-control/</guid><description>Explaining source control to non technical people.</description><pubDate>Thu, 30 Oct 2014 16:45:19 GMT</pubDate></item><item><title>MongoDB: Setting TTL on Documents</title><link>https://consultwithgriff.com/mongodb-setting-ttl-on-documents/</link><guid isPermaLink="true">https://consultwithgriff.com/mongodb-setting-ttl-on-documents/</guid><description>Learn how to automatically remove MongoDB documents after a specified time period using Time To Live (TTL) indexes.</description><pubDate>Mon, 13 Oct 2014 14:08:05 GMT</pubDate></item><item><title>One Simple Rule for Successful Consulting</title><link>https://consultwithgriff.com/one-simple-rule-for-successful-consulting/</link><guid isPermaLink="true">https://consultwithgriff.com/one-simple-rule-for-successful-consulting/</guid><description>When I recommend tools, technologies, and other solutions to my clients, I want to always make sure that the suggestion I am providing is something I would do for my own business</description><pubDate>Wed, 03 Sep 2014 00:16:57 GMT</pubDate></item><item><title>Specifying Visual Studio Version in NPM Installs</title><link>https://consultwithgriff.com/specifying-visual-studio-version-in-npm-installs/</link><guid isPermaLink="true">https://consultwithgriff.com/specifying-visual-studio-version-in-npm-installs/</guid><description>How to specify Visual Studio versions with NPM installs</description><pubDate>Tue, 14 May 2013 06:34:08 GMT</pubDate></item><item><title>Using Unity for Dependency Injection with SignalR</title><link>https://consultwithgriff.com/using-unity-for-dependency-injection-with-signalr/</link><guid isPermaLink="true">https://consultwithgriff.com/using-unity-for-dependency-injection-with-signalr/</guid><description>Using Unity for Dependency Injection with SignalR</description><pubDate>Tue, 08 Jan 2013 06:00:31 GMT</pubDate></item><item><title>Node.js: Using require to load your own files</title><link>https://consultwithgriff.com/node-js-using-require-to-load-your-own-files/</link><guid isPermaLink="true">https://consultwithgriff.com/node-js-using-require-to-load-your-own-files/</guid><description>Learn how to use Node.js require() to load your own modules and keep your code clean and organized.</description><pubDate>Mon, 31 Dec 2012 06:00:31 GMT</pubDate></item><item><title>My Default .gitignore File</title><link>https://consultwithgriff.com/base-gitignore/</link><guid isPermaLink="true">https://consultwithgriff.com/base-gitignore/</guid><description>A comprehensive .gitignore file template for modern development projects - updated for 2025.</description><pubDate>Mon, 12 Nov 2012 10:37:23 GMT</pubDate></item><item><title>Preloading Multiple Audio Tags in Internet Explorer 9</title><link>https://consultwithgriff.com/preloading-multiple-audio-tags-in-internet-explorer-9/</link><guid isPermaLink="true">https://consultwithgriff.com/preloading-multiple-audio-tags-in-internet-explorer-9/</guid><description>Learn how to preload multiple audio files in Internet Explorer 9, including workarounds for IE&apos;s limitations with HTML5 audio preloading.</description><pubDate>Fri, 02 Nov 2012 06:00:59 GMT</pubDate></item><item><title>Why should ASP.NET developers consider SignalR for ALL projects?</title><link>https://consultwithgriff.com/why-should-asp-net-developers-consider-signalr-for-all-projects/</link><guid isPermaLink="true">https://consultwithgriff.com/why-should-asp-net-developers-consider-signalr-for-all-projects/</guid><description>Why should you use SignalR for all projects?</description><pubDate>Mon, 09 Jul 2012 07:00:07 GMT</pubDate></item><item><title>Maintaining SignalR ConnectionIds Across Page Instances</title><link>https://consultwithgriff.com/maintaining-signalr-connectionids-across-page-instances/</link><guid isPermaLink="true">https://consultwithgriff.com/maintaining-signalr-connectionids-across-page-instances/</guid><description>Learn how to maintain SignalR ConnectionIds across page refreshes using cookies and custom connection ID factories.</description><pubDate>Wed, 15 Feb 2012 10:00:52 GMT</pubDate></item><item><title>Building better ConnectionStrings with ConnectionStringBuilder</title><link>https://consultwithgriff.com/building-better-connectionstrings-with-connectionstringbuilder/</link><guid isPermaLink="true">https://consultwithgriff.com/building-better-connectionstrings-with-connectionstringbuilder/</guid><description>ConnectionStringBuilder makes it fool-proof to generate connection strings.</description><pubDate>Mon, 14 Feb 2011 05:00:02 GMT</pubDate></item><item><title>If You Reach Just One Person</title><link>https://consultwithgriff.com/if-you-reach-just-one-person/</link><guid isPermaLink="true">https://consultwithgriff.com/if-you-reach-just-one-person/</guid><description>The best motivation for public presenting is when one person comes up to you and says that your presentation was the one that pushed them forward.</description><pubDate>Mon, 29 Mar 2010 06:00:00 GMT</pubDate></item><item><title>Colossal Failures</title><link>https://consultwithgriff.com/colossal-failures/</link><guid isPermaLink="true">https://consultwithgriff.com/colossal-failures/</guid><description>Have you ever screwed up horribly?</description><pubDate>Tue, 02 Mar 2010 06:00:00 GMT</pubDate></item><item><title>Leaving It Better Than You Found It</title><link>https://consultwithgriff.com/leaving-it-better-than-you-found-it/</link><guid isPermaLink="true">https://consultwithgriff.com/leaving-it-better-than-you-found-it/</guid><description>Everything you touch in your life, leave it better than you found it.</description><pubDate>Tue, 26 Jan 2010 06:00:00 GMT</pubDate></item><item><title>Are we too dependent on the Internet?</title><link>https://consultwithgriff.com/are-we-too-dependent-on-the-internet/</link><guid isPermaLink="true">https://consultwithgriff.com/are-we-too-dependent-on-the-internet/</guid><description>Does the internet make us stronger, or is it making us weaker?</description><pubDate>Tue, 19 Jan 2010 06:00:00 GMT</pubDate></item><item><title>Console Games: Why do we have to press start?</title><link>https://consultwithgriff.com/console-games-why-do-we-have-to-press-start/</link><guid isPermaLink="true">https://consultwithgriff.com/console-games-why-do-we-have-to-press-start/</guid><description>Ever wondered why console games make you press start before reaching the main menu?</description><pubDate>Tue, 05 Jan 2010 06:00:00 GMT</pubDate></item><item><title>Learn about Windows 7 Task Dialogs</title><link>https://consultwithgriff.com/learn-about-windows-7-task-dialogs/</link><guid isPermaLink="true">https://consultwithgriff.com/learn-about-windows-7-task-dialogs/</guid><description>Back in 2009, I wrote an article on building task dialogs in Windows 7</description><pubDate>Tue, 01 Dec 2009 07:00:00 GMT</pubDate></item><item><title>Enhancing Your Applications For Windows 7</title><link>https://consultwithgriff.com/enhancing-your-applications-for-windows-7/</link><guid isPermaLink="true">https://consultwithgriff.com/enhancing-your-applications-for-windows-7/</guid><description>Back in 2009, I wrote an article on building applications in Windows 7!</description><pubDate>Tue, 17 Nov 2009 09:36:34 GMT</pubDate></item><item><title>My Attempt at LINQ Pagination</title><link>https://consultwithgriff.com/my-attempt-at-linq-pagination/</link><guid isPermaLink="true">https://consultwithgriff.com/my-attempt-at-linq-pagination/</guid><description>Implementing efficient pagination in LINQ using Skip() and Take() methods to handle large record sets in database applications.</description><pubDate>Fri, 16 Oct 2009 06:00:10 GMT</pubDate></item><item><title>What Makes A Good Bug Report?</title><link>https://consultwithgriff.com/what-makes-a-good-bug-report/</link><guid isPermaLink="true">https://consultwithgriff.com/what-makes-a-good-bug-report/</guid><description>Reporting issues in software?  Here are some tips to make it easy to replicate and fix!</description><pubDate>Wed, 23 Sep 2009 06:00:39 GMT</pubDate></item><item><title>Wildcard search with LINQ</title><link>https://consultwithgriff.com/wildcard-search-with-linq/</link><guid isPermaLink="true">https://consultwithgriff.com/wildcard-search-with-linq/</guid><description>An example of wildcard search with LINQ</description><pubDate>Tue, 21 Apr 2009 09:17:26 GMT</pubDate></item><item><title>Definition of a Computer Scientist</title><link>https://consultwithgriff.com/definition-of-a-computer-scientist/</link><guid isPermaLink="true">https://consultwithgriff.com/definition-of-a-computer-scientist/</guid><description>What is a computer scientist? A person that innovates? Or a person that solves problems?</description><pubDate>Wed, 04 Mar 2009 15:26:24 GMT</pubDate></item><item><title>A Diet Programmers Can Relate To</title><link>https://consultwithgriff.com/a-diet-programmers-can-relate-to/</link><guid isPermaLink="true">https://consultwithgriff.com/a-diet-programmers-can-relate-to/</guid><description>I gave Weight Watchers a try, and it was pretty cool! Learn how the Weight Watchers point system works like a programming algorithm.</description><pubDate>Fri, 06 Feb 2009 06:52:21 GMT</pubDate></item></channel></rss>