Managing Technology in the Home – Striking a Balance

I’m both a geek and a nerd. Be that the case, one should assume my children will suffer at least one if not both of those affectations as well. One would be correct. Our household is full of technological implements. Given the range of variety of options, it becomes important to control access. I want to talk about managing technology in the home.

Dependency Inversion Principle – Getting Solid with SOLID – Part 5

Software development has been around for a while. As technology advances so does the need to establish patterns and principles for healthy application development. We know one of those patterns as SOLID. The “D” represents Dependency Inversion Principle (DIP) which is our topic for today.

Photo by Tianyi Ma on Unsplash

Mocking IQueryable Extensions with Moq

Unit testing is the base level of the testing pyramid and thus a vital cornerstone of effective software development. In order to effectively unit test your code you should make use of SOLID design principles and mocking frameworks. That said, it isn’t always easy to accomplish such as mocking IQueryable Extensions.

Interface segregation

Interface Segregation Principle – Getting Solid with SOLID – Part 4

Software engineering, like other trades, is something that can be done in many ways. Throughout the years people have established patterns and practices to help craft good software. One set of design principles we’ve been discussing is SOLID. Robert C. Martin coded the Interface Segregation Principle (ISP) which “I” represents.

Guys discussing project

How to Code Review Effectively

Modern software development is complex. New technologies emerge at a breakneck pace. Best practices, patterns, recommendations, and samples are a dime a dozen. Any team larger than one is faced with how to address differences in style, knowledge, and discipline. Perhaps one of the most important tools in your arsenal here is an an effective code review. Let’s look today at some ideas on how to code review effectively.

Blank Billboard

Liskov Substitution Principle – Getting Solid with SOLID ā€“ Part 3

Software engineering principles and patterns help us craft good clean software. One such pattern is an acronym we know as SOLID. ā€œLā€ represents the Liskov Substitution Principle (LSP) which was coined by Barbara Liskov in 1987. Today I focus on Liskov Substitution Principle and how we apply it in modern application development.

Open/Closed Principle – Getting Solid with SOLID – Part 2

Software engineering principles and patterns help us craft good clean software. One such pattern is an acronym we know as SOLID. “O” represents the open/closed principle simply defined: “open for extension, closed for modification”. Today I’m focusing on open/closed principle and how it pertains to modern application development.

How unit testing made me a better developer

Developing yourself as a software engineer is important for progression. One tool you should incorporate in your arsenal is unit testing. What are unit tests? Why should I write them? What part do they play in my success or that of my software? Today I’m going to talk about how practicing this principle made me a better developer.

Migrating WCF to gRPC using .NET Core

Microsoft recently released .NET Core 3.0 and set the stage for WCF’s exit. .NET Core no longer supports “full framework” mode which effectively ends support for WCF as we know it. Our options for migration vary. Today let’s discuss one such approach I feel is a “low-impact” approach. Let’s look at migrating WCF to gRPC using .NET Core while still maintaining backwards compatibility.

Application logs are your friend (and how to read them)

Your software application will crash. Even the most principled software following the best practices will inevitably have a bad day. Figuring out why it crashed and how to prevent it is a skill in and of itself. Fortunately there are steps you can take to help you when this time comes. Application logs are your friend and it is necessary to learn how to read them.