Joker’s Wild

Published on: 2019-06-11

This past weekend I had a blast presenting Joker’s Wild with Erin Stellato (blog|twitter), Andy Mallon (blog|twitter), and Drew Furgiuele (blog|twitter).

Watch it here!

Table of contents:

  • What is Joker’s Wild? Watch this to witness Andy’s amazing PowerPoint animation skills (0:00)
  • Bert demos SQL injection (2:25)
  • Erin recollects desserts (9:55)
  • Andy shares an automation tip (18:55)
  • Andy explains an ANSI standard (23:10)
  • Drew describes containers (27:02)

While a video doesn’t quite give you the same experience as being in the room with dozens of other data professionals laughing and shouting along, hopefully it gives you an idea.

Here’s a behind-the-scenes peek at how it all came together.

A Different Kind Of Presentation

I’ve wanted to do a “fun” SQL Server presentation for a while; something that would be lighthearted while still delivering (some) educational value.

I ran some ideas past Erin after SQL Saturday Cleveland earlier this year. We came up with several concepts ideas we could incorporate into the presentation (thanks to Paul Popovich and Luis Gonzalez for also helping us generate a lot of these ideas) and at that point I think Erin came up with the name “Joker’s Wild.”

Blind Commitment

Fast forward a few months: occasionally I’d talk about the presentation idea with people but still wasn’t any closer to actually making it real.

Then a few days before the SQL Saturday Columbus submission deadline, Erin reached out to ask if we were going to submit. We recruited Andy and Drew to help present and submitted an abstract:

Come one, come all to the greatest (and only) SQL Server variety show at SQL Saturday Columbus.

This session features a smattering of lightning talks covering a range of DBA- and developer-focused SQL Server topics, interspersed with interactive games to keep the speakers and audience on their toes.

Plan for plenty of sarcasm, laughs, and eye rolls in this thoughtfully structured yet highly improvised session.

We can’t guarantee what you’ll learn, but we do promise a great time!

*Slot machine will not generate real money for “winners”

Structure

If that abstract reads a little vague, it’s because at that point we didn’t know exactly what we wanted to do yet. Once our session was selected though it was time to come up with a concrete plan (big thank you to David Maxwell and Peter Shore for giving us the opportunity to try something like this).

After some discussion, Erin, Andy, Drew, and I came up with the following structure:

  1. The audience will choose the lightning talk topic
  2. We will spin the “Wheel of Misfortune” to determine the presentation style, including:
    • Slides I didn’t write
    • Random slide timing
    • Who has the clicker?
  3. We will play some SQL Server themed Jeopardy and Pictionary with the audience

After our first meeting Andy created the world’s most versatile PowerPoint presentation that would run the show. Seriously, if you haven’t watched the video above yet, go watch it – that introduction is all PowerPoint goodness created by him.

The Session and Final Thoughts

I’m incredibly happy with how it all went. The session was planned but a lot of it was still left up to a highly improvised performance. I had a lot of fun preparing and presenting, and I think the session was well received by the audience. Jeopardy and Pictionary were a lot of fun too, even though I ran out of video recording space so I couldn’t include them in the video.

I hope we have another opportunity to present this session again in the future.

Thank you again David and Peter for letting us do this session as part of SQL Saturday Columbus.

Thank you to our audience for taking a risk on attending a session you didn’t know much about. Also for your great participation.

And thank you Erin, Andy, and Drew for helping do something fun and different.

Thanks for reading. You might also enjoy following me on Twitter.

Want to learn even more SQL?

Sign up for my newsletter to receive weekly SQL tips!

2018 Community Influencer of the Year

Published on: 2019-01-01

A few days ago I was surprised to learn from Aaron Bertrand of SentryOne that he was selecting me as Community Influencer of the Year for 2018.

Aaron states that the Community Influencer of the Year award goes to, “someone who has made a dramatic impact on the SQL Server community.”  This type of recognition is wonderful to hear and I am honored to have such kind words come from someone like Aaron.

I’m especially flattered since the previous award recipients are Andy Mallon (2016) and Drew Furgiuele (2017). Being recognized in the same league as those two feels amazing. Andy and Drew are incredible and inspiring, both in the data platform community and outside of it.

2018 was a great year and I’m looking forward to 2019. The number of people I’ve befriended this year and have helped me along the way is staggering; thank you to each and every one of you.

And finally, thank you all for following me along on this journey. I truly appreciate the interactions I have with you in-person, on Twitter, in the comments, and everywhere else.


Thanks for reading. You might also enjoy following me on Twitter.

Want to learn even more SQL?

Sign up for my newsletter to receive weekly SQL tips!

Learning New Skills

Published on: 2018-11-06

This post is a response to this month’s T-SQL Tuesday #108 prompt by Malathi Mahadevan.  T-SQL Tuesday is a way for the SQL Server community to share ideas about different database and professional topics every month.

This month’s topic asks to share how we learn skills other than SQL Server.


I enjoy learning to do new things; there’s a major sense of accomplishment I feel when I can tell myself, “Wow, I went from knowing almost nothing to being able to have this new skill.”

Over the years I’ve realized I’m pretty consistent in how I go about learning something new, so what follows is my process for learning a new skill.

What I Am Learning

Recently, my non-SQL Server related learning goals have been to learn to use plain old vanilla JavaScript.

In this case I’m not necessarily starting from nothing (I have been writing JavaScript for close to 20 years now…) but previously where it was necessary to use a library like jQuery to get any kind of compatibility and consistency across browsers, the time has finally come where the JavaScript (ECMAScript) standard is mostly implemented correctly in most modern browsers.  No more need for large helper libraries!

And so the appeal here is that if I can ditch the overhead of a large library, my code will be simpler, easier to maintain, and faster to load and execute.

Steps to Learning a New Skill:

1. Commitment

For me, the hardest part to learning a new skill is time management: if I don’t make time for it, it won’t happen on its own.

I think the easiest way to make time to learn a new skill is to incorporate it into a project at work.  By aligning it with your day job, you’re guaranteeing some time to work on it most days.  Yes, critical projects and deadlines do come up where learning has to be set aside temporarily, but if you can find a project that doesn’t have urgent deadlines AND aligns with learning goals, then you’ll be good to go.

For me, learning vanilla JavaScript is a great “at-work” project since I’m already developing a lot of web apps with JavaScript anyway – the main difference is I’ll be using the standard JavaScript functionality instead of working through a library like jQuery.

Now obviously this won’t work in all scenarios: if you want to learn to build drones and you do development work for a chain of grocery stores, you probably can’t figure out a way to align your interest with work (unless of course your company is trying to build out a drone delivery service).

Inthat case, you need to set aside time at home. This essentially comes down to your own discipline and timemanagement.  The key here is that youneed to set up time regularly and set yourself deadlines.  Instead of having the deadline of a workproject to help motivate you to learn, you need to tell yourself “I’mgoing to get this chunk of plastic and copper wiring up in the air by the endof the month” and try to deliver on that goal.

2. Go Cold Turkey

This is the hardest part of kicking any old habit.  Ideally when learning something new, I like to use it exclusively in all scenarios where I can.

This may not always be possible: sometimes there is a deadline you have to meet and trying a new skill that slows you down is not always the best idea.

But even if that’s your scenario, pick at least one project to go completely cold turkey on for learning your new skill.  Going cold turkey on a project will force you to work through the hurdles and actually learn the necessary skills.

Thiscan be challenging.  I have the jQuerysyntax and methods ingrained in my brain from years of use; switching to usingstandard JavaScript is tough because I’m frequently having to look up how to dothings.  But if I picked the rightproject (ie. one without urgent deadlines), then this becomes a fun learningexperience instead of something stressful.

3. Build a Collection of Resources

The internet is awesome: it contains nearly all of the information you could ever want for learning a new skill.  The internet can also be a terrible place for learning a new skills if used incorrectly.

When learning something new, I try to find resources that guide me through a topic.  Whether it’s a book, a website with a structured guide, a video course, or documentation with clear examples, it’s important to find something that will teach you the why as well as the how.  I prefer using something with structure because it helps me learn the fundamentals correctly.

With my JavaScript learning, I have been enjoying the guides and daily newsletter at https://vanillajstoolkit.com/ .  That site also has clear documentation for the most common features.  The “official” documentation (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference) is good to reference too, but can be overwhelming when first starting out.

What I don’t like doing is searching for each question I have on StackOverflow.  Don’t get me wrong, I love StackOverflow, but when learning some brand new skill I don’t think it always provides the best answers.  Sometimes you get good answers, but sometimes you’ll come across answers that, while technically correct, apply to some edge case, old version of a language, etc… that make them less-than-helpful when learning a new skill.

4. Document and Share

As I learn, I document what I learn.  This could be as simple as code snippets that I find myself using all the time, or it could be links to additional helpful resources.

Eventually I like writing up what I’m learning.  Even if no one reads it, summarizing your thoughts and ideas will help clarify and retain them better.  A summarized document or blog post also provides an additional reference for you to use if you need to in the future.

I haven’t been blogging publicly about my JavaScript learning, but I have been taking notes and sharing with individuals who are learning along with me.

5. Rinse and Repeat

That’s it!  On my first pass at learning a new skill I try to finish a small project to get some immediate satisfaction.  I then pick a new project that’s a little bit more ambitious, but still be manageable because I now have some knowledge that I didn’t have before starting my first project.

Baby steps.  A little bit each day (or every other day).  Do it enough times and eventually you find yourself being fully capable of whatever skill you set out to learn.

Thanks for reading. You might also enjoy following me on Twitter.

Want to learn even more SQL?

Sign up for my newsletter to receive weekly SQL tips!