Thursday, November 14, 2013

#SQLSat255 - recap, thoughts from a first-time SQLSat presenter

>verbosity on 

First, this is a long blog post.  My wife said I'd given up any chance of being "The Terse DBA". Ha. :-\

TL;DR: SQLSaturdays are awesome.  Even if you're not Old Grizzled Veteran (or maybe especially if you're not one), you should find a topic and look at speaking - the experience was wonderful.

And here's my slide deck + exact scripts used during my presentation:

So, here's my full story of SQL Saturday 255 (Dallas TX 2013).  Yes, it's long.  There's a line of dashes below when I get to SQL Sat 255 itself.

First, let's roll back a couple years to April 2011.  I'd been to PASS once, and then heard about this SQL Saturday thing... some sort of PASS event (denoting awesome quality), and the opportunity to get a full day of training was too good to pass up.  And, hey, it's like $10, right?  Slam-dunk.  It was fantastic, and I saw several really interesting sessions, learned how to muck with Kerberos, verified my two-tier repliction was As Good As You Were Going To Get, and spoke with a couple people from Microsoft at length.  I loved it.

Then 2012 rolled around and with it, SQL Rally.  Again a blast (Fritchey's talk on parameter sniffing was a thing of beauty), but I saw a couple presentations and thought "well, I could do that - I know it at least as well as them".  So, with a bunch of hubris and zero humility, I decided it was time to present.

Naturally, the first stumbling block came immediately - what do I present on?  The easy ones were already "taken", in my mind, by people who already had presentations built and had presented multiple times.  Yes, I know, everybody brings something different to the party, but theirs is already there - and says pretty much everything I could say.

At the same time, I was trying to track down some code changes.  It was aggravating.  Standards for deploys were coming, but I was trying to find a happy medium and something I could use immediately to more easily find them when they occurred (lots of DBA where I work).  I'd looked at setting up Traces (a pain to collect), DDL Triggers (broke replication in fun new ways, and prevented me from applying an SP to our cluster), a third party tool (which was slow to scan and wouldn't reliably work with our TFS server - which was its main interface).  So I'd gone towards Extended Events, which was the Next Big Thing, learning a lot (but not finding a solution to my problem).  Hip deep in it, asking questions, and Jonathan Kehayias (who I'd seen present on XE at PASS) chimed in, and offhandedly mentioned that XE could be used for it, but why wasn't I using Event Notifications...

Several hours digging in the BOL, and I was intrigued.  A couple days/weeks later I had code running, but with some significant holes in my knowledge.  More coding, more reading, more time spent, more homework, and more Stack Overflow.  At some point, I realized that this was my presentation - I knew the subject really well, as I'd been bitten by all the major bugs.  Almost nobody had presented on it (only 2 sessions at PASS in 7 years), and even though I'd been at BOTH summits it was presented at, and I was the target audience, the title/abstract must not have made an impression on me (sorry, guys).  And finally, and this really was the key - I was (heck, still am) jazzed about this - I use it pretty much daily, and it's an awesome tool.

More work, more slide decks, more demos... and finally, when I thought I was ready, I spoke to the local user group - and they had a spot I could present at.  Easy as pie, right?

Yeah, not so much.  I had a work laptop with my demos on it.  Which was running Windows Server, and didn't have the drivers so it would actually WORK with the projector.  Fortunately, I knew the material really well, the audience was both responsive and forgiving (*and suggested narrating my code instead of skipping an un-doable demo), and it all worked on in the end.  A bit frustrating, but it worked!  Ask about my newly-discovered interpretive dance-around-the-code skills!

So, one down, what's next?  Well, a couple months later (and yet more servers deployed), I asked the DBA Virtual Chapter of PASS if they had an opening.  This time I was on a laptop I knew well, had my VMs all set up (3 of em!), and was presenting virtually.  This time a larger audience - 90 people watching was a great feeling, and (aside from not knowing if the laptop's cam was broadcasting) I thought it went really well, got some twitter followers, and some questions that showed they were interested.  

So the next step was PASS Summit, right?  I took my overly-grandiose title and abstract (which I'd written so that my past self would've been interested), and then changed them a bunch on advice from others, trying to make it more accessible and get my golden PASS ticket.  Weeks passed and... nope.  Insert sad trombone here.  Honestly, the most frustrating part was the silence.  No formal rejection letter, just seeing the accepted sessions and my name wasn't on there.  No feedback on why I'd been rejected - was it a topic nobody cared about?  Was there some other session on it by a Big Name?  Was it a crappy title?


So, fast forward a couple months.  On a lark, I was showing one of my new coworkers this SQL Saturday thing, there was one in 2011 and 2012, maybe there'd be one in Austin or someth.... wait, what?  This fall? Here? Schwing!

So I dusted off my original abstract, kept the overly-grandiose title ("Master of All I Survey" - I still like it), and tweaked my abstract a little (but only a little), hit submit, and waited.

A few weeks later, my coworkers heard a "whoop" from my desk and wondered what the hell I'd done now.  I'd been accepted!  Which meant.... more work.  Working on the slide deck, work through my presentation, make sure the damn laptop would connect to a projector... then present to coworkers a couple weeks in advance.  It's never a good sign, by the way, when in a small room 3 of the 5 fall asleep (it was warm! Seriously!).  Not my shining-est moment . However, it did make me re-evaluate my presentation, so I changed the whole thing around - added slides, added demos, moved parts around and overall refactored (heh, code term) a whole bunch of things.  Somewhere in there I also went to PASS, which worked on many levels - I'd been taking notes not just on the subjects, but on the presentation process itself.  Also, I saw a great presentation by Mark Vaillancourt and picked up a bunch of tips.

Fast forward a couple weeks and a whole lot of practicing.

I'd been getting emails from Ryan, Sri, and Ganesh about the details of the SQL Saturday, and was pleasantly surprised to get an email about a Speakers Dinner - how cool is that?!  Honestly, I hadn't considered that there'd be one. And, it was awesome - we met at one of the local Mercado Juarez restaurants, went to one of the rooms, and lo and behold!  A bunch of people there that I'd either seen present (Grant, Dave, Mike), read articles by (Kathi), or even just met people for the first time and seen their abstracts on the schedule.  One thing that did stand out - I asked about my PASS submission, and one of the long-time speakers said, (paraphrased) "no, you haven't presented enough, yet.  For Summit, the quality has to be through the roof, and a first/second-time presenter isn't at that level when you're paying that kind of money".  Put in that context, yeah, she was definitely right.  Overall, though, the night was fantastic - a bunch of people who were all there for a common cause, having a lot of fun hanging out and telling stories.  The term #SQLFamily fit perfectly here, even more so than at PASS Summit, which I didn't think was possible.  And to finish the awesome evening, our hosts handed out shirts along with our speaker badges, gave us a sincere thank you, and made us feel utterly and completely like rock stars.  I was humbled - but had a gigantic grin on my face the rest of the night.

Fast forward 12 hours, getting up far too early so that I'd be there at 7:30, and could get into the room early (and make sure my laptop worked; oddness presenting at work in full-screen mode).  Ran into Glenda, a new friend from the previous night's dinner, and walked into the UTA hall.  First order of business?  Checking in, handled flawlessly by the tireless volunteers.  Next?  Double-checking the laptop.  I had a couple different possible concerns, but had 3 different contingency plans, none of which wound up being necessary. That's why you have them, though, right?  Next up - grabbed breakfast and listened to the welcome, then found my list of presentations-I-really-want-to-see.  I didn't have to speak until 2:45, which was a mixed blessing.  On the plus side, it gave me all day to prep/practice should I need it.  On the minus side, I was up against Joe Celko.  Yup, Celko's from Austin and he was presenting.  No pressure, right?

So on to the presentations!

First up, Ami Levin - physical join operators.  Enjoyed this thoroughly - Ami used two gigantic decks of cards as metaphors, and Grant Fritchey was kind enough to volunteer to be the magician's assistant.  Mostly stuff I knew (always nice), but a couple tricks/pitfalls I hadn't considered (even nicer!).

Next?  Khaladkar talking about SSAS, Tabular, and DirectQuery.  We're looking at implementing Tabular SSAS, but were concerned since our compressed data set is over a Terabyte - which means we'll probably have to use Direct Query.  The details were there, but I flinched when he said he was going to VPN in to show some demos - I'd seen enough issues in the past with dodgy wifi that I was pleasantly surprised when it (mostly) worked.  Some interesting details in his presentation, with a whole lot of lessons learned, and I'd love to see it again once he's had a chance to further polish it.

For the 11am session, there were a couple I wanted to see, and wound up going to see Steven Ormrod (who just posted his blog entry on SQLSat - talk about memory.  Honestly, I know more-or-less how it works, but the details have always hurt my brain.  Fortunately, he did a great job putting it all together and I got some good takeaways.

Next up - lunch!  Lots of choices, and a cookie.  Mmmm... cookie.  And a quick marketing spiel by Microsoft that actually showed off a couple cool Cloud-type things that even I (as a HIPAA-bound person) could use.  Then it was time to take advantage of the awesome sponsors, as well as check my VMs prior to my presentation.  Which, naturally, weren't talking to each other (and was about 25% of my presentation).  Now I see the advantages of the Speaker Room - casual conversation with a bunch of people, while working on getting my VMs up (30 minutes later, finally run a profile trace, and it becomes obvious what's going on - the VMs have shifted their times outside the Kerberos-allowed skew).

A couple cool conversations occur - several cool stories from Joe Celko who has come in, and is definitely The Best Dressed DBA there - 3 piece suit, Superman cufflinks, and all.  The man has Stories, people, mad stories!  So I learned interesting Joe Celko facts - for instance, he's also known in India as SQL Satan, and in South America as Ming the Merciless.  Makes me wish I'd gone with a Flash shirt for my presentation.  One of the presenters' daughters was in the speakers room, and chatted with Joe.  Which resulted in some other cool stories coming out.

Another interesting conversation was about SQL Saturday itself, and whether it was sustainable or would succumb to fatigue by the various parties (vendors, volunteers, speakers).  Tim Mitchell opined that the first time he went, he didn't think it'd be sustainable - then mentioned that this was at SQL Saturday #3.  As a first-time speaker, personally, I think it's going to continue to do well  While I did recognize a couple of the vendors from PASS and SQL Saturday #237 a couple weeks before, all the rest were new.  And equally importantly, they're hitting a different group of people.  Aside from a handful of presenters who'd been to several SQL Saturdays, most of the people there hadn't been to other SQL Saturdays or even PASS, so it was a whole new tank of fish for the vendors to try and "catch".  And I bet that's the way with all the SQL Saturdays - brand new groups of locals.  It also was a good opportunity, IMHO, for a lot of the local firms to get their name out in front of DBAs.  And as a first-time speaker to SQL Saturday, I think there are two keys.  The first is making sure speakers are made welcome - and they did a marvelous job of that.

The second key will be encouraging and cultivating new speakers.

I've been doing SQL Server since 7.0 came out, and while I can be an extrovert, it's not my natural state.  I hadn't presented before because I figured it was all Big Names, albeit names I didn't know, that were presenting, and that their experience and knowledge far outstripped mine.  Obviously it's not - it's just a bunch of members of the SQLFam who have done the hard work and spent the effort.  I think it's just a matter of getting more people exposed to the idea of speaking earlier on - while I still don't know everything, SQL Server is big enough that you're never going to know it all, so find something you know well, put in the effort, help out, and present... or at least volunteer to help.  Thomas Larock said at PASS that he viewed everyone there as a future volunteer, and he's right.

Just my 2 cents.

What's left?  My presentation!  It went well - I had probably about 20 people in there, and there was definitely some interest (which means I'd better finish working on my new set of scripts!).  And as it turned out, the room I was in had all its sessions recorded by Usergroup.Tv, another community outreach by some awesome people, so my presentation should be online in a couple weeks.  Also, the previous month I'd been looking for a "wow" to bring to my presentation, and so put some extra effort in - which ended up with a SQL job and Powershell script that checks changed items into TFS automatically!  It works well (my boss loves the thing) and got a lot of interest from the audience.  I've just been querying the table directly or using an SSRS report, but I think I'm going to spend more time on the TFS part, especially after seeing how many questions were about it.  ("you mean we don't have to give our devs VIEW DEFINITION?!" Ayup.)  I was also really surprised to get my feedback papers immediately - I'd figured that they'd use it for future SQLSaturdays, and even figured they were using this as a "Farm League" for PASS Summit.  I was thrilled with the results - probably 80% 5s, 15% 4s, a single 3, and one guy who said he wanted to see more presentations by me and loved this one - but gave me all 1s.

After my presentation?  Floating on a cloud, that was me... so I was late to the final presentation, a one-hour distillation by Greg Galloway of a 350-page whitepaper on tuning Tabular SSAS.  Thin attendance, probably because everyone's brain was full, but I got a ton out of it - and it was a precursor to a full-day seminar in Las Colinas, which we made sure to send somebody to.

Finally, the end-of-day kum-ba-ya (standing room only!), and all the awesome giveaways.  Coworker had a very similar name to one of the winners, so there was some confusion - and after that, everyone made sure to check name tags.  : )

Then, the after-party, which was a blast.  It was at the Dave & Busters, and we had a "room" with a couple pool tables, grub (pub food, but pretty good), and a whole lot of people to talk to.  So I spent the night talking to various people, both SQL and otherwise, some more amazing Joe Celko stories, networking, making friends, and even beat a coworker at a game of pool.

Then Monday rolled around, I got the skinny on the pre-cons, found out what all my coworkers saw and learned (almost everyone from my group went to one of the pre-cons), and then got the biggest surprise of all - my coworkers were so stoked from this one, they were ready to go see another!  So, I've submitted to SQL Saturday Albuquerque 2014 - we'll see what happens...