/* Why didn’t I think of this years ago? /*

So, I attended the PASS Summit last week in Seattle. If you’ve never been, I highly recommend it. Especially if it’s in Seattle. Yes, the character of the town is basically dark, rainy, and uphill both ways. But the coffee is good, the seafood is better (especially for a midwesterner like me), and the place is just simply one of the nicer downtowns I’ve seen.

But the PASS Summit itself is also worth it, Seattle or not. You pick up a lot of great stuff, much of it at a very deep level. Adam Machanic’s pre-con on Tuesday, for instance, was such a deep dive into parallelism that my eyes were glazed over by the end of it.

And then there are the little things. The stuff that make you want to kick yourself for not thinking of it before.

I write a lot of dynamic SQL. I have tons of stored procedures that include this little gem:

DECLARE @stmt NVARCHAR(MAX) = N'';

And then hundreds of lines of conditionals and string concatenation and parameter substitution, followed by sp_executesql.

But what had never occurred to me was this:

DECLARE @stmt NVARCHAR(MAX) = N'/* dbo.NameOfCallingStoredProcedure */ ';

Duh.

And now when it’s six months later, and I get a call from a DBA who’s trying to troubleshoot a query plan that’s gone sideways, and neither of us know or remember what’s actually generating that query.

It’s the little things, sometimes, that make the big difference.

By the way, this came from Jeremiah Peschka’s AD-302 session, Dynamic SQL: Build Fast, Flexible Queries.

Wide open until you see God, then brake

And so it begins…

Who am I? Professionally speaking, a developer. A software engineer. I write code. I’ve been doing it for years, in a few different languages. I’m sure I’ll bring up various pieces of my experience as time goes on, but these days I write some of the core code – the plumbing, if you will – that makes up the Salesforce Marketing Cloud. It’s a pretty big shop, and I’d like to think I’ve learned a few useful things along the way. So I’ll try to share some of those things here.

That means that the main point of this blog is to talk about code – specifically, code that acts on big data. It’s going to be primarily C# and Transact-SQL, because that’s how I spend most of my time these days. But not all of it.

Anyway, if it interests you, great! Thanks for spending a little time here. I’d appreciate your feedback.

As for the title of this post, well, that’s how I do things. Checkers or wreckers, baby. Godspeed!