To Whom It May Concern: Should You Use Who or Whom?

Who, whom, and related words like whoever and whomever are notorious for causing difficulties. How do you know when to use one or the other? Learning to recognize when the word is being used as a subject (who) and when it is being used as an object (whom) is the key to choosing the correct . . . [more]

Active Sitemaps - An MVC Manifesto, Part 1

As with most innovations, it all started with frustration. Don't get me wrong - I absolutely love ASP.NET Core MVC. But since the original MVC release, I have been enormously frustrated with the way that links and redirects are generated. @* in a Razor view *@@Html.ActionLink("View Detail . . . [more]

ASP.NET Core WWW Subdomain Redirect

Recently I was working on a .NET Core project for a client who wanted the application hosted on SSL. Further, for SEO purposes, they wanted the application to automatically redirect requests for https://somedomain.com to the www subdomain - i.e. https://www.somedomain.com. I was thri . . . [more]

Employees Still Need to Learn Microsoft Office

I have been teaching Microsoft Office since the suite was first released in 1990. The big question? Could Microsoft pull computer users away from the most popular products of the day: WordPerfect, Lotus 1-2-3 and Harvard Graphics? They could. They did. In the world of computer training, t . . . [more]

How to Create a Hamburger Navicon with CSS

Hamburger icons, used to indicate a mobile menu, are everywhere these days. This simple, three-lined visual (reminiscent of a hamburger bun with the meat in the center, thus the name!) is the universally-known symbol for a menu. Our Logical Imagination site uses one - if you are readi . . . [more]

How to Pause a Storyline E-Learning Project

When you want learners to pause a slide in an Articulate Storyline project, you have two options. Use the seekbar on the player. Build custom navigation that includes a play and pause button. The seekbar on the Articulate Storyline player is an easy way for learners to play, pause . . . [more]