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.
Navigating GCP IAP: Local and Deployed Development with .NET and React
I’m currently working on several cloud-native projects hosted on Google Cloud Platform (GCP) that use .NET for the API and React for the UI. These projects rely on GCP’s Identity-Aware Proxy (IAP) to handle authentication, which occurs before any requests reach the Application Load Balancer or the application itself.
While GCP’s IAP offers robust security benefits, configuring a .NET and React application to work seamlessly with it—both locally during development and when deployed to a Cloud Run instance as a Docker container—proved to be more challenging than I expected. The available documentation and resources for this setup are sparse and often fragmented, making it difficult to piece together a clear solution.
This blog post is my way of sharing the lessons I’ve learned along the way. By outlining the steps and solutions that worked for me, I hope to save others from the trial and error I experienced and provide a clearer path for integrating GCP IAP with .NET and React applications.
.NET vs. Java: What is the Best Technology for Software Development?
Have you ever wondered why some companies remain committed to Java while others thrive with .NET? As technology rapidly evolves, making the right choice in software development becomes more crucial than ever. Since 2008, Keyhole Software has been at the forefront of these shifts, working extensively with both .NET and Java. With our deep expertise in both platforms, we approach …
Service Highlight: .NET Development
Choosing the right development platform can greatly enhance your operational efficiency and innovation. Among the many options available, .NET development stands out as a robust and versatile choice, particularly for sectors like healthcare, finance, insurance, and agriculture. With its widespread adoption and notable success across various industries, .NET offers a unique combination of speed, scalability, and developer availability that few …
Legacy Code Automation with AI: Building a Solution
This blog post serves as a thought experiment, delving into potential solutions for a pattern I have noticed on projects throughout my career. As a consultant, I work with many companies, each with unique ways of organizing and handling software development. However, throughout my career at Keyhole and elsewhere, I’ve noticed something that seems to be consistent across all dev teams: the existence of legacy code.
Legacy code can be frustrating and time-consuming to work with, so I used AI to create a solution to mitigate the hassle. While other solutions may already exist (and some may be more efficient), I found the process of creating this tool expanded my understanding; it really helped me grow as an engineer.
So, I’m using this blog post to share my process with you! Let’s dive into how AI can assist in improving application design (specifically legacy code) through automation.








