Ross Grogan-Kaylor

Ross Grogan-Kaylor is an Associate Technical Consultant at Perficient’s Minneapolis office. He enjoys engaging with structural patterns in the syntax and in the high-level ideas of software development.

Blogs from this Author

Difference Between Team Site and Communication Site in SharePoint

A tour of PowerQuery’s M language

In a previous post, I introduced PowerQuery and demonstrated how to perform various SQL-like operations. This article gives a tour of PowerQuery’s M language that underlies each query. let and in If you select a query and click on the “Advanced Editor” button in the Home tab, you’ll see something like this: This is the […]

Istock 903569480 (5)

Data exploration with PowerQuery

Microsoft’s PowerQuery is a neat tool that allows one to perform SQL-like operations on Excel tables. When investigating a database, I actually prefer using PowerQuery over raw SQL for a couple reasons: PowerQuery displays result sets that are much easier to look at than the a typical SQL plaintext result set. It’s easy to immediately […]

Dependency injection in C# .NET

I’ve decided to write a tutorial on how to accomplish dependency injection in C# .NET, because the Microsoft documentation of dependency injection libraries is unfortunately way too sparse, and the Microsoft dependency injection tutorial is a little convoluted and complicated. Fortunately, C# .NET’s implementation of dependency injection is pretty straightforward. In my opinion, it’s way […]


Clarifying Excel’s lookup functions

I’ve decided to write some of my own documentation for common use cases of the Excel functions LOOKUP, VLOOKUP, HLOOKUP and XLOOKUP because the official documentation is pretty confusing. It uses “lookup value” as a synonym for “key”, when one would conventionally expect a “lookup value” to be a synonym for “value”! (After all, in […]

On Scala’s parenthesis convention for no-arg functions

One might be confused or even angered when they learn about Scala’s convention regarding parenthesis usage for no-arg functions. The convention is this: given a no-arg function, you use put parentheses next to the function call only if the function has side effects. So, you would invoke a function named printCurrentState by writing printCurrentState(), since printCurrentState […]

Istock 964215782

Introduction to Spring Framework for Java

Introduction to Spring Framework for Java This article walks through the basics of using Spring Framework for Java. From a very, very high level point of view, Spring Framework infers a program’s runtime behavior from labels that the programmer attaches to pieces of code. There are many different groupings of labels, and each grouping of […]

An abstract take on the dependency injection pattern

This article will take a relatively abstract look at the design pattern called dependency injection (or inversion of control). I feel that most articles about dependency injection get too bogged down in the particulars of whatever example is being used to demonstrate the structure. In this article, we’ll present pure abstraction. Well, maybe not pure abstraction- […]

Mocking in test-driven development (TDD) with Java’s EasyMock

In this article, we’ll explore the test-driven development practice of mocking. No, this won’t entail calling your developer teammates silly names! Specifically, we’ll use Java’s EasyMock package to get a sense of the functionality that a typical mocking library provides. Before we learn what mocking is, we first must consider the general scenario in which […]