The IOC Container Anti-Pattern

Before I receive the Frankenstein-style lantern escort to the gallows, let me assure you: I love dependency injection...

April 9, 2018
The IOC DI Container Anti-Pattern So Much IOC; So Little Inversion or Control

Before I receive the Frankenstein-style lantern escort to the gallows, let me assure you: I love dependency injection (the basis of inversion of control). It is one of the core precepts of SOLID code design: one should…

The MVVM Framework Anti-Pattern

... propelled MVVM Frameworks to the forefront of Xamarin.Forms development. No one has bothered analyzing these frameworks for their alignment with C# SOLID design philosophy.

April 6, 2018
The MVVM Framework Anti-Pattern When Did A File-Naming Trick Become A Design Pattern?

Let’s face it: programmers like frameworks. A framework is a set of pre-packaged code that supports a particular functionality. The more fundamental the functionality, the more vital the framework seems to be. When the entire coding community…

The Foreground Await / Async Anti-Pattern

The mis-use of async/await point to an underlying lack of awareness of C# design principles, including event-driven programming.

March 27, 2018
The Foreground Await-Async Anti-Pattern Surprising Discoveries About the Task Parallel Sequential Library

Microsoft’s C# is an amazing language. It is a powerful, conceptually brilliant high-level tool for creating applications. One unfortunate side-effect of C#’s reputation is that anything published in the language API seems like some sort of visionary insight.…

The Holy Grail of cross-platform development?

The compelling case for Xamarin

May 4, 2017
Why Xamarin?

Most mobile device owners are passionate about their phones. They’re either a high-tech Android type or an aesthetic iPhone type. And they agree about very little when it comes to their metallic soul-mates. The companies are likewise conflicted: Java considers itself to be the ubiquitous, open-source programming language…

Is the Internet driving us to distraction?

... and that we would spend all of our time interacting with something called the Internet, which no one really understands but nobody can live without?

May 4, 2017

My father died before the computer age really began. I was a young man during that bleak winter in 1982. Imagine my guffaws if you had told me then that within 15 years, everyone would own a personal computer vastly superior to the one they used for the moon landing,…

Welcome to the Google Net

Google's rise describes the Internet's own transition from an innocent, friendly puppy to a voracious snake that squeezes us tighter each day.

May 4, 2017

Don’t worry, mom. I’m just playin’ with the Internet!

When I first jumped onto the Internet in the early 1990’s, I used Yahoo as my search engine.  If you had asked me then where Yahoo would be in 20 years, I would have said, “the top of the…

What Is a Program?

We all rely on technology for each instant of our lives. But we are also threatened by this new and necessary magic...

May 4, 2017

I think … it’s hungry!

We all rely on technology for each instant of our lives. But we are also threatened by this new and necessary magic because we don’t really understand it. Most of the devices we use are either broken, mis-configured, or just badly designed. But we can’t…

Is Your Software Project Killing You?

... Users have grown frustrated and unproductive. Management wants to know: what went wrong?

May 4, 2017
The Horse That Ran Down A Staircase

I am often brought in to review huge enterprise projects that have fallen completely off track. Not only are these programs over budget, but they don’t work as originally conceived. Users have grown frustrated and unproductive. Management wants to know: what went wrong?

Why I don't blog

Like any 8-year-old with a new toy truck, today's bloggers quickly tire of their doodling. They also realize that they haven't got much to say.

May 4, 2017

Initially, we were all told that the Internet was an uncensored public repository of human knowledge. That was a grand idea. But for the youngest citizens of the world, the definition felt a bit stodgy. So they snuck the word free onto the front of every imaginable feature. Free music,…