J. Tower jtower.com

Blog

Practical takes on .NET, AI, cloud architecture, and the craft of building software — from someone who's been in the trenches for over 25 years and still finds it interesting. Includes posts from Trailhead Technology Partners.

Artificial Intelligence

With AI Writing Code, What Are Developers For?

As a software consultant, I’ve noticed a pattern play out at nearly every client over the last year. A team adopts Cursor or Claude Code or Copilot and their productivity, especially on greenfield tasks, jumps noticeably. And then, someone asks: “If the AI can do this, what ar...

Read on Trailhead →
Artificial Intelligence

How To Think About AI-Assisted Development

It seems like everyone is doing AI-assisted development these days. For a lot of people, it feels like magic: you ask for a thing, and suddenly you have that thing, even if you have no idea how to make that thing yourself. Sometimes that’s exactly what you need. Other times it...

Read on Trailhead →
.NET

End of VS Code Support for .NET 6 and 7

Microsoft has announced that starting January 2026, the C# Dev Kit and C# VS Code extension will no longer support development using the .NET 6 and .NET 7 SDKs. In the blog post below, I’ll walk you through what teams running these versions of .NET in production need to know. ...

Read on Trailhead →
.NET

Catch Trailhead at .NET Conf 2025:

Every year, .NET Conf brings developers from around the world together to celebrate what’s new, what’s next, and what’s possible with .NET. This year’s event, .NET Conf 2025, runs November 11 ‐ 13 and marks the arrival of .NET 10, a major milestone for developers building mode...

Read on Trailhead →
Artificial Intelligence

Beyond the Hype: Trailhead’s Pragmatic Approach to AI

If you spend any time in technology circles these days, or even just scroll LinkedIn for five minutes, you might think AI has already solved every problem humanity has ever faced. There is a lot of talk about the “future of intelligence,” vague promises of replacing entire job...

Read on Trailhead →
Web

Creating Happily-Ever-After UI Components

Once upon a time, in a land not so far from production, there lived a growing kingdom of buttons, forms, and other UI components. What began as a peaceful realm of components slowly turned into a tangled forest of inconsistencies—every team member building their own version of...

Read on Trailhead →
Architecture

Microservices Drool; Modular Monoliths Rule

Everyone seems to be chasing microservices these days—promises of independent teams, targeted scaling, and fault isolation make them sound irresistible. It’s been said you should only reach for microservices if you have a really good reason to do so. Otherwise, you risk over‑e...

Read on Trailhead →
Artificial Intelligence

LLMs: The Internet, But Make It a JPEG

Recently, I was reflecting on Large Language Models (LLMs) and how they contain all or much of the knowledge of the internet in a much smaller storeage space. For example, the ChatGPT 4 model is about 570 GB, a size almost anyone could store on their own computer’s storage. Wh...

Read on Trailhead →
Architecture

When to Use a Distributed Architecture—And When Not

Distributed systems are all the rage right now—and for good reason. Many organizations are successfully turning to distributed architectures like microservices to meet their modern scalability and maintainability challenges. However, like every technology, distributed systems ...

Read on Trailhead →
.NET

Boost App Performance with Advanced Redis

In a previous blog post, I showed how you can speed up .NET APIs using Redis to cache frequently-accessed and infrequently-changing data. If you haven’t checked it out yet, it provides a solid foundation on how Redis can dramatically improve API performance. In this post, I wa...

Read on Trailhead →
Trailhead

Welcoming Mark Adams to Trailhead

Trailhead Technology Partners is excited to welcome Mark Adams as a new partner. With decades of leadership experience and a passion for strong client relationships, Mark is an excellent addition to our team. Mark has more than two decades of experience leading enterprise solu...

Read on Trailhead →
Process

Modernizing Legacy Systems with Event Storming

Legacy systems are the backbone of countless organizations. Yet, as technology advances, these systems often become roadblocks, riddled with challenges like technical debt, undocumented workflows, brittle integrations, and limited scalability. Modernizing them is critical—but ...

Read on Trailhead →
.NET

What’s New in .NET 9

.NET 9 was released in November 2024 at .NET Conf. It introduces a wealth of new features and improvements that make it easier than ever to build high-performance, modern applications across platforms. Microsoft covered many different new features, but there was a definite foc...

Read on Trailhead →
.NET

Introducing HybridCache in .NET 9

Caching plays a crucial role in performance in web applications by reducing strain on backend systems. The new HybridCache library, available in preview in .NET 9, simplifies caching and addresses some limitations of previous approaches, making it easier for developers to impl...

Read on Trailhead →
Architecture

Right-Sizing Your Front-End Tech Stack

Selecting the right tech stack can be a make-or-break decision for many projects. While some applications benefit from a complex stack, many others can thrive with a simpler, more streamlined setup. Choosing a lighter stack doesn’t just cut costs—it can improve development spe...

Read on Trailhead →
Business

Trailhead Interviewed on House of Code Podcast

Recently, Trailhead partner Jonathan “J.” Tower had the pleasure of discussing the topic of building a trusted software agency on Cory House‘s House of Code podcast. Together, they delved into what it takes to run a successful software agency, from hiring the right team to dev...

Read on Trailhead →
Artificial Intelligence

Easy Machine Learning for .NET Teams

Machine learning (ML) is transforming industries by enabling businesses to make data-driven decisions, personalize user experiences, and improve operational efficiency. But for many organizations, the thought of adding ML capabilities to their products comes with the assumptio...

Read on Trailhead →
Architecture

Fitness Functions: Unit Tests For Your Architecture

We regularly test the functional requirements of our applications, but what about the architectural requirements like scalability, maintainability, and quality? Because these are harder to measure, we’re must less likely to be testing these aspects of our applications. In this...

Read on Trailhead →
Cloud

When Serverless Architecture is The Best Choice

In recent years, serverless architecture has emerged as a game-changer, promising scalability, cost-efficiency, and ease of deployment. However, amidst the hype surrounding serverless, it’s crucial to recognize that it’s not a one-size-fits-all solution. In this article, I del...

Read on Trailhead →
.NET

Trailhead Interviewed on SSW TV

Recently, Trailhead’s very own Jonathan “J.” Tower was at NDC Sydney, and sat down with Matt Wicks from SSW TV to discuss YARP: Your Gateway to Effortless Project Migrations. During this insightful conversation, J. walks Matt through Microsoft’s reverse proxy, YARP, and how us...

Read on Trailhead →
.NET

Quantum-Safe Cryptography in .NET

Cryptographic algorithms hide behind the curtain of so much of the digital communication that supports our daily lives online. As quantum computers continue to advance, the likelihood increases of computers that can defeat all of our current cryptography algorithms, threatenin...

Read on Trailhead →
Integration

Integration Strategy: A Guide for IT Leaders

At Trailhead, we understand that a successful business will often need to have a variety of software systems, leading to disparate systems that don’t always talk to each other. This demands a seamless way to connect those systems to avoid out-of-date data and dual data entry t...

Read on Trailhead →
.NET

Exploring What’s New in .NET 8

In the early days of the .NET Framework, releases were infrequent and timed with Windows releases. The shift to an open-source platform brought a welcome change. Now, we anticipate an annual .NET release tied to the .NET Conf event every November. Building on the foundation of...

Read on Trailhead →
Soft Skills

Why Engineers Should Embrace Verbosity

In the fast-paced world of software development, brevity is often hailed as a virtue. Software engineers, with their affinity for efficiency, are notorious for distilling complex concepts into succinct messages–sometimes even a little too succinct. While the skill of summarizi...

Read on Trailhead →
.NET

Trailhead Interviewed on The Azure DevOps Podcast

In the quickly evolving landscape of software, keeping pace with advancements is crucial to avoid having your application become a dreaded “legacy” application. Recently, Trailhead’s very own Jonathan “J.” Tower had the privilege of being a featured guest on The Azure DevOps P...

Read on Trailhead →
Trailhead

Are You Prepared for the End of Xamarin Support?

In October 2022, Microsoft announced that Xamarin and Xamarin.Forms apps will no longer be supported after May 1, 2024, which is just eight months from the writing of this post. The reason for this deadline is that Xamarin is being replaced by its successor technology, .NET MA...

Read on Trailhead →
Architecture

When To Use Serverless vs Containers

Everyone is talking about containers and serverless, but when should you use each in your projects? Anyone who has worked with containers and orchestration much will tell you how much more complex they can make your application’s infrastructure. But the cloud keeps abstracting...

Read on Trailhead →
CLI

Single Dash vs Double Dashes in Shell Commands

When you’re using a shell command, it’s common to pass options to that command using dashes—which are also called hyphens. These options can be specified with either a single dash (-) or a double dash (—). But have you ever wondered when to use one or the other: a single dash ...

Read on Trailhead →
Architecture

Slow .NET API? Redis Caching May Be the Answer

Just like venturing into the wilderness requires the proper gear, developing REST APIs with ASP.NET Core also requires the right tools and equipment for your application to perform at its best.  At Trailhead, Redis caching is one such tool that’s always in our backpack. What I...

Read on Trailhead →
C#

Top-Level Statements in C#

This article is part of C# Advent 2022. During the month of December, two new articles are posted each day until December 25th. These articles will be about something in the C# language, and are written by experts from around the C# community. Trailhead is proud to be a part o...

Read on Trailhead →
.NET

What’s New in .NET 7?

At Trailhead, we think that .NET is the world’s most powerful and flexible framework for custom development. That’s why we are so excited that .NET 7 was officially released this week. When you see what’s new in .NET 7, we think you will agree that it moves the platform forwar...

Read on Trailhead →
Mobile

Xamarin Isn’t Dead; It’s Evolving Into .NET MAUI

The world of cross-platform app development is undergoing a major revolution right now thanks to .NET MAUI—the next evolution of Xamarin.Forms.  Using .NET MAUI, developers can build a single project and compile it into native code and native UI components running on a broad a...

Read on Trailhead →
Soft Skills

Yes, And…

I learned a lot in college that is applicable to my life and career…and some of it was even in my classes. Nowhere was that more true than with my time doing comedy improvisation. At the beginning of my sophomore year in college, I tried out for an improv group called the Rice...

Read on Trailhead →
.NET

Microsoft Build 2021: .NET News

Microsoft Build 2021 just wrapped up, and a lot of the new coverage was about things like the upcoming major updates to Windows, the retirement of IE and pre-Chromium Edge, and the new Windows app store that is being developed. However, this year’s event also included some ver...

Read on Trailhead →
Project Management

Estimating Software Projects More Accurately

Software projects are notoriously difficult to estimate accurately. After years of building successful custom software projects, I’ve learned a lot of helpful DOs and DON’Ts for creating accurate estimates and had the opportunity to test those rules over hundreds of software p...

Read on Trailhead →
News

Trailhead Goes Carbon Neutral, And So Can You

We were inspired recently when Microsoft announced that it was going carbon neutral by 2030, and completely paying back its historic carbon debt by 2040. Amazon has also made the similar, though slightly less lofty pledge to be carbon neutral by the year 2040. As vendors to Tr...

Read on Trailhead →
CLI

One Dash vs Two Dashes in Shell Commands

When you’re using a shell command, it’s common to pass options to that command using dashes–which are also called hyphens. These options can be specified with either a single dash (-) or a double dash (–). But have you ever wondered when to use one or the other: a single dash ...

Read on Trailhead →
Soft Skills

Working from Home for Fun and Profit

I’ve been working remotely–or telecommuting, as it is often known–for nearly 10 years, and in that time I’ve learned a few DOs and DON’Ts for being a successful remote worker. I’m far from perfect, and am still learning and getting it wrong at times, but I wanted to share some...

Read on Trailhead →
.NET

What is .NET Standard & Does it Relate to .NET Core?

When I talk to .NET developers, I find that there’s still a lot of confusion about what .NET Standard is and how it relates to .NET Core. In fact, this weekend I’ll be giving a talk at the Music City Tech conference in Nashville, Tennessee about just that. I thought I’d share ...

Read on Trailhead →
ASP.NET

Hello, ASP.NET Core 2.1

UPDATE, 2018 May 30: It’s alive. The dotnet team officially announces 2.1 on their blog! The newest version of ASP.NET Core will be released in just a few days, the team announced this week. They’re targeting Wednesday, May 30, 2018, with an early-access release available alre...

Read on Trailhead →
Cloud

It’s Alive! My First Azure Bot Service

Microsoft CEO Satya Nadella says “bots are the new apps.” If that’s the case, then developers are going to need a cross-platform way to build those bots, just like they have cross-platform frameworks for building mobile app. Good news, because Microsoft has built just such a f...

Read on Trailhead →
Web

Kendo Grid with Angular2: From Scratch

At Trailhead, we’ve been making the switch from Angular 1 to Angular 2 for our new web front-end projects. The selection of tools and components for Angular 2 has been slowly expanding, but it is still young and somewhat limited at times, which is why we’ve been very excitedly...

Read on Trailhead →
News

Trailhead Welcomes Josh Eastburn

Trailhead Technology Partners is very pleased to announce the addition of our newest partner, Josh Eastburn. Current partners, J. and John, give their thoughts about the expanded partnership below, and welcome Josh to the team. Josh also shares a few of his thoughts about join...

Read on Trailhead →
ASP.NET

Trailhead + ASP.NET Core 1.0

In this Edition Introducing ASP.NET Core 1.0 Trailhead’s Experience with .NET Core Our ASP.NET Core services: “ASP.NET Core” Online Training  > Consulting Services  > Introducing: ASP.NET Core 1.0 On June 27, Microsoft announced the official release of ASP.NET Core 1.0. Have y...

Read on Trailhead →
News

Microsoft Build – Day One

Microsoft’s Build conference kicked off today in San Francisco. The keynote provided a snapshot of how Microsoft is going to double-down on its previous commitment to open source, cross-platform, and helping developers create amazing experiences. Though some if it may seem sho...

Read on Trailhead →
ASP.NET

ASP.NET 5 is Dead; Long Live ASP.NET 5!

Perhaps you’e read the news last week from Scott Hanselman already, but if you haven’t, allow me to bring you up to speed. ASP.NET 5 is now know as ASP.NET Core 1.0. Note that this name change does no

Read more →
Uncategorized

Comparing Date Ranges For Overlap

I often find myself writing logic to compare two date ranges to see if they overlap. In fact, I’ve done this enough times that I thought it was worth capturing in a blog post to save myself the time o

Read more →
Business

Hello, World!

J. Tower About a year-and-a-half ago, I had a dream of starting a company with several of my favorite friends and colleagues, and today that dream is starting to come true. Please allow me to introduce Trailhead Technology Partners. Trailhead is a custom software consulting co...

Read on Trailhead →
Uncategorized

Detroit, MI – Detroit DevDay

I had an excellent time presenting a talk today at Detroit DevDay in Detroit, MI. I spoke about “ASP.NET 5: Someone Moved Your Cheese”. Thanks to everyone that came to my talk and to the organizers fo

Read more →
Uncategorized

Milwaukee, WI – Milwaukee CodeCamp

I had an excellent time presenting two talks this morning at the Milwaukee CodeCamp in Milwaukee, WI. I spoke about “Model-View-Whatever: Comparing JavaScript MVC/MVP/MVVM Frameworks” and “ASP.NET 5:

Read more →
AngularJS Kendo UI Speaking

Charlotte, NC – Angular + Kendo UI

I had an excellent first visit to the Enterprise Developers Guild tonight in Charlotte, NC. I spoke about using Telerik’s Kendo UI library together with AngularJS. Thanks to everyone that came out, an

Read more →
ASP.NET IIS

Skype and IIS

Today I got the following error after setting a web site in IIS to use HTTPS/SSL and trying to start the site:

Read more →
JavaScript Kendo UI News Telerik

My Thanks to Telerik

At the end of last year, Telerik unveiled their new “Developer Expert” program. According to Burke Holland, Developer Advocate at Telerik, “Telerik Developer Experts are those who have not only master

Read more →