ASP.NET Core Demystified - Routing in MVC

ASP.NET Core MVC has introduced quite a few concepts that new (or new-to-ASP.NET) web developers might have some difficulty getting caught up with. My ASP.NET Core Demystified series is designed to help these developers get started building their own custom, full-fledged, working ASP.NET Core applications. In this part of the series, we'll take a look at the concept of Routing and how we can use it to match URLs with actions. As always with my tutorials,... Read more >

The Toxic Glorification of Working Hard

Twitter has lately been awash in ads. I don't mean the normal annoying ads, the ones promoting the latest Disney movie or some upcoming tech conference. I mean a more insidious kind of ad. The kind of ad that strives to steal your time. Ads like this: On the surface, this little advertisement seems like no big deal: a woman who loves her job was still doing it at nine months pregnant. That kind of tenacity, that dedication to their... Read more >

Become Your Teammates' Rubber Duck

You may be familiar with the term rubber duck debugging. This is the idea that in order to help a programmer solve a problem, s/he should explain it to some kind of inanimate object (most commonly a rubber duck), because in the process of explaining the problem they will often solve the problem. I'm finding that the best way to help people with their problems is to become that rubber duck. Though, perhaps, a slightly smaller one. Image is... Read more >

Building the Ultimate RestSharp Client in ASP.NET and C#

My group has been doing a lot of REST API consumption lately, and our favorite tool to use for that is the terrific RestSharp library. Our latest project is very large, and uses lots of different APIs, and so we needed a way to create many different client classes that could consume many different APIs but still use common features like caching and error logging. And so, I present to you, the Ultimate RestSharp Client! In this post, we'll build... Read more >

Solving the Stupid Bug

A few weeks back I wrote about a very unusual bug that returned 500 errors for routes that should have been valid. Recently my team and I, to our great relief, discovered the cause of this bug. Of course, that wasn't before we ended up yelling "WTF?!" a great many times. A great many times. A New Failing Route Most of the our collective WTFs occurred when we discovered the original problem. As I wrote about in the... Read more >

Why Does ODP.NET Have Async Methods If They're Not Asynchronous?

The Oracle Client (ODP.NET) that we are using to build a major web project put us in a really stupid bind last week, ultimately causing me to waste two days in search of something that wasn't really going to work in the first place. I'm on something of an async/await binge with this project, since in C# and ASP.NET it's really easy to implement and possibly gives you great scalability benefits. So, one of the first things... Read more >