Matthew Jones's Picture

Matthew Jones

I'm a parent, a husband, a geek, a web developer, and a speaker, in roughly that order.

Using Entity Framework DbContext with Dependency Injection

I'm a huge fan of Dependency Injection (DI). It's gotten to the point where it's almost in my blood (pun intended). DI is standard issue on all my team's projects, and I fail any code reviews that don't include it unless there's a really solid reason why it doesn't work for that particular scenario. For quite a long time, I didn't include Entity Framework (EF) DbContext items in this mental pool of "things that should be injected". This... Read more >

What's This and Can I Delete It? Examining A Default ASP.NET MVC Project

I have a two-step process that I utilize whenever I have to dive into a code project that I didn't create. For each file, folder, NuGet package, etc. I examine the item in question and ask myself the following questions: What is this? Can I delete it? See, I'm a deletionist. I would much prefer to delete all code ever written, because then it will never break. But, given that I live in the real world, that's not possible, so... Read more >

The Gamer Couple: Rules for Playing Single-Player Games Together

Long time readers of my blog will have noticed that I'm a total Nintendo fanboy. I've owned all of their consoles from the SNES onward, including the Nintendo 64, Gamecube, Wii, Wii U, and now the Switch. I can still remember the joy of Super Mario World like it was yesterday, and Star Fox 64 is my favorite game of all time. In short, I keep buying Nintendo games and systems because they keep making good ones. My wife K.... Read more >

Technical Debt and the Rewrite-In-Place

My group just finished up a massive year-and-a-half-long rewrite of a major project. I've blogged about events during this project several times before, from a stupid bug and a plea for help to reminding my boss that junior developers are awesome to building the ultimate RestSharp client. But, as of two months ago, we're done with it! It's running in production, and 20k people use it every day. So now, it's finally time to discuss the biggest mistake I made... Read more >

All Code Is Disposable, Just As It Should Be

My recent post I Am a 9 to 5 Developer (And So Can You!) is getting WAY more traffic than I expected, and I am both humbled and excited that so many people in our profession seem to feel the same way that I do: namely, that you CAN leave work at work and still be a good developer. So, for everyone that read that post and stuck around to read this one, thank you so much for-a reading my... Read more >

I Am a 9 to 5 Developer (And So Can You!)

I've been thinking quite a bit about a particular tweet from Safia Abdalla: A perhaps unpopular opinion (and a little ironic coming from me).You don’t have to write blog posts, contribute to open source, give technical talks, or anything else to be a capable and great engineer.You can leave your code at the office and that’s totally fine.— Safia Abdalla (@captainsafia) January 13, 2018 This particular position is near and dear to my heart, though... Read more >

Two Ways to Do Async/Await in ASP.NET Wrong (and How to Fix Them)

My team is in the process of refactoring a large application that we want to deploy to our production environment soon. I've just been assigned as lead developer to this project, since the prior lead got another job in a different state, and I've been digging through the code to see where I can improve its performance (this is something the principal users have relayed to me was already an issue). I was told this project had already implemented async/... Read more >