Jerry Nixon on Windows

Jerry Nixon on Windows

Wednesday, April 28, 2021

An Introduction to SQL Graph

Sometimes the easiest way to learn a new technology is to compare it to a technology you already know. Such is the case with Graph databases. When you hear about them or watch videos about them elsewhere they talk as if they can cure cancer and give you a foot massage all at the same time.

A list of online tools I use

Every developer has their list of tools. That list of things making me more productive. That list of things helping me remember, too. Today, I went through my list for my team & thought I would share. Who knows what my list will look like in another 3 or 4 years. Maybe no change at all. Who knows.

Utility scripts for SQL tables

The SQL Server sys.tables & sys.schemas tables are exceptionally handy to find & filter tables in the database. Quickly looping through a list of table commands to execute a delete, truncate, drop, update, disable constraint, enable constraint, or require data script is easy – just use a while loop, a cursor, or print the results to use in a larger script you are writing. Truth is, this little snippet helps you query for the tables, their schema and the boilerplate script syntax. I’ve used scripts just like this for years.


Here it is on GitHub: link.

Tuesday, March 23, 2021

An Assert Schema for SQL Server

In C#, we use Assert to make a claim and to do a few utility operations. For example, we use Assert.Equal(one, two) to claim that one and two have the same values. If this is not true, Assert.Equal() throws an exception that is typically used by Unit Test runners to highlight failing tests.

But in SQL Server, there is no Unit Test framework or runner. That doesn’t mean we can’t have similar behaviors to Assert in TSQL. We just have to write them ourselves. To that end, I have created a starter set of scripts to introduce Assert to SQL Server for database developers.

You can find it here: An Assert Schema for SQL Server (

Saturday, March 16, 2019

A Kickstarter for features: It’s a Better kind of User Voice

For decades, I’ve watched users and developers long for capabilities in Windows and .NET that never happen. Sites like Connect and User Voice collect our ideas and votes yet backlogs rarely react.

I believe product teams often chase the next big feature, forcing themselves to ignore small, love-creating improvements or tweaks that would build tireless loyalty from their user base.

For this reason, I would like to propose a new idea. A way to solicit, not feedback, but ideas from a user or developer community in a way that gets results and creates wonder. 

Wednesday, March 13, 2019

Developer Evangelism’s Obvious Secret

Hi. So, here’s another entry from my notes as an Evangelist. So many snippets I wrote to myself, translated here to blog articles helping, I hope, anyone finding themselves where I was. This one is the role of empathy. Perhaps it is not as obvious as you assume?
For the sake of argument, and I think that’s a fine reason, let’s consider Developer Evangelist, Technical Evangelist, Developer Advocate, and any other variation of a Developer Relations title to be the same. For the most part, they are. For me, here, I will use Developer Evangelist because that’s the title I employed for just under a decade at Microsoft. And, I like it.

Monday, March 4, 2019

Three Reasons for Developer Evangelists to Engage

I would like to talk about the reasons for a Developer Evangelist to engage an audience. We already understand the three ways we can engage: online, personal and onstage.

As a reminder, online engagement has the greatest reach but the least impact, personal engagement has the greatest impact but the least reach, and onstage engagement is a combination of the two with varying results depending on skill, style, and approach.

But when as you prepare your talk, ask yourself why: why are you engaging in the first place. As you are driving to a conference or meetup ask yourself why: why are you engaging in the first place? I would assert there are three reasons for Developer Evangelism engagement.

Tuesday, January 1, 2019

Some goals for 2019

imageHi. Today is the first day of 2019; I have a few goals for the coming year I will codify here so I can look back and see how I did. This is not a list for you, it’s for me. That said, I am satisfied for my list to influence your list, should it.

I have some big things afoot in my life and should waters stay smooth, these goals are both attainable and what I want. I should also point out this year’s goals resemble last year’s goals. I am certainly a creature of habit. Some of last year’s goals were reached. Some are carrying over. Some, however, always make my list in one form or another.

Thursday, February 8, 2018

The three pillars of Technical Evangelism

Terms like evangelism are funny. Etymogically, evangelism is about converting and teaching. Where most of us are used to hearing it in the context of theology, technical evangelism is about teaching and converting in the context of technology, most usually software development.

I am a Microsoft Evangelist. It’s my real title, and I sometimes must show people my card before they believe me. As a Microsoft Evangelist I am converting developers to Microsoft Technologies. I also teach, of course, but it is a fundamental part of evangelism that teaching, though important, is secondary.

Saturday, February 3, 2018

Custom UWP-XAML attached properties

Look, this article is for me. I keep forgetting the basics of XAML attached properties & some advanced syntax. If this helps you, too, great. 
As the author of Template 10 (the best UWP framework) I keep on my UWP toes with XAML & WinRT. I may not be a XAML Jedi, but I’m on the path. You’d think after writing about this in my Navigation View article in MSDN Magazine article last month I would have it all locked in. But, I’m the type of guy who forgets things. Even stuff I mastered just last month. So, here goes.

Containing class

The only requirement for an attached property is that its containing class derive from DependecyObject. The class cannot be static.