Unknown's avatar

About Greg Moore

Founder and owner of Green Mountain Software, a consulting firm based in the Capital District of New York focusing on SQL Server. Formerly, a consulting DBA ("and other duties as assigned") by day, and sometimes night, and caver by night (and sometimes day). Now, a PA student working to add PA-C after my name so I can work as a Physician Assistant. When I'm not in front of a computer or with my family I'm often out hiking, biking, caving or teaching cave rescue skills.

SQL Community

First, I want to thank Rie Irish for giving me cause to blog a second time this week. Normally this time would be sent writing up another article for Redgate (yes Kathi I’ve got one more in the works).

Second, I want to add, that up until now I had decided to refrain from writing about the fall of PASS. I knew eventually I probably would, but some good news last night has accelerated that process.

Last night Rie posted to Twitter an announcement about a new initiative by Microsoft to provide a space and tools for the former PASS User Groups. I was thrilled when I saw this and I’ll explain why.

In the past few days there has been a LOT of efforts put forth by various members of the #SQLFamily to create new spaces for the former members of PASS, both individually, and as groups. I’ll admit, I was both heartened by this, but also a little concerned. I was obviously heartened, because as I knew would happen, the members of #SQLFamily have stepped up and tried to fill various needs. This is a great volunteer community! I want to emphasis that. Even weeks ago when I had suggestions forwarded to me that PASS was about to close shop, I felt that the community would go on.

However, my concern was that it would fracture, that various little domains and fiefdoms would develop. Now, this may not necessarily be the worst thing that could happen. A decentralized community might actually be a good idea. For example if we separate the concept of Saturday events from User groups, that might spur innovation and might encourage new ideas to come forth. But, it might also inhibit things for folks who have organized both if they end up having to maintain two mailing lists, two sites, etc. So it’s a mixed bag. That said, if nothing else had happened, I’d take that over having the community completely falling apart.

And even if nothing else had happened, I know my User Group has speakers scheduled out through May of 2021 (and the only reason I haven’t scheduled beyond that is because I’m hoping by June to know if we can do in-person again and if so when). I know that Monica Rathbun has the Hampton Roads SQL Server User Group scheduled out through all of 2021. This is the case with a number of other User Groups. So, no matter what, User Groups would continue.

And there are still SQL Saturdays in the works, by that name or others. So, the community will continue.

But, as I said, my concern was the community might fracture into fiefdoms.

I think the announcement from Microsoft goes a LONG ways to allaying my fears. Yes, it’s just a press announcement with details to be worked out, but it has several things going for it. The biggest is the name behind it: Microsoft. Let’s be honest, the one thing the #SQLFamily has in common is we all work on the Microsoft Data Platform. So, to me, it makes sense that Microsoft be a central focus. Another is it appears this platform will end up providing a lot of the tools community leaders will need, and all in one place. These two facts should help keep the community from fracturing.

Now, I already know there is going to be one huge objection from some: “But it’s Microsoft, they can dictate what we do! We want something independent like PASS was!”

Well, first let me point out, for all its independence, PASS is no more. So independence is no guarantee of perpetual success.

Secondly, please read the release with an open mind. It’s NOT an attempt to recreate PASS. There’s no talk of a Board of Directors, there’s no talk of a main event. It’s very clear, at this stage what it is: a set of centralized resources to sustain the community. Additionally I’ve spoken further with Rie that has given me further confidence in the plan. We will see more over time how the winds blow, but I am comfortable recommending moving forward with this path. And you know what, if it turns out the Microsoft suddenly wants to take things in another direction, #SQLFamily will again do what it needs to for its members.

So, this is NOT “PASS Version II”. It doesn’t attempt to be. Perhaps PASS Version II will come to pass someday. I sort of hope it does. I look forward to another Summit. But for now, I think this is an excellent step forward. I will end by pulling a quote from the release:

Although Microsoft built SQL Server, it’s clear that the passion and dedication from each of you is what makes it thrive.

And I think this is as true today as it was 2 weeks ago.

Twas the Night Before Deploy

Twas the night before deploy, when all through the server,
not a script was running, not with any ferver

The queries were pushed to github with care,
in hopes that St. Deployment would soon be there;

The devs were all sitting at home on couches,
while visions of good deploys proved they were no slouches;

And Mindy in her ‘cubicle and I in my car,
Had just submitted our Java in one big jar;

When out on the floor there arose such a clatter,
I sprang from my seat to see what was the matter;

Away to windows I flew with a dash,
Tore open the login only to see the OS crash.

The icon on the desktop of was blinking just so,
gave a lustre of failure to the objects below;

When what to my wonderings eyes should appear,
But a minutia of code and eight tiny beer,
With a developer so lively and quick,
I knew in a moment it must be my buddy Nick.

More rapid than eagles his fingers they flew,
and I knew more #SQLFamily was due,
Now Rie, Now Kathie, now Andy, now Hamish,
On Fritchey, on, Argenis, on Deborah, and on Klee!

To the top of the script, to the top of the code!
Now code away, code away, code away mode!

As leaves before the hurricane they fly,
When they met a debug, threw it to the sky;

So up to the keyboards the coders they flew
With their brains full of tips, and my buddy Nick too;

And then in a twinkle, I heard on the floor,
the opening and closing of every door.

As I drew in my head and was turning around,
Down the aisle my buddy Nick came with a bound.

He was dressed all in schwag, from his head to his feet,
And all his clothes were from Summit and Pass to beat;


A bundle of con gear he had to tell you the truth,
And he looked like a vendor just opening his booth.

His eyes — how they twinkled, his demos how merry,
His patter, purple prosy, his pitch too cheery!

His droll little cube was a certain new low,
And it was clear he would not win best in show;

The stump of a pen he held tight in his teeth,
and the ink circled the printout like a wreath;

He was chubby and plump, right jolly old dev,
I laughed when I saw him, as the code did rev;

A wink of his eye and a twist of his head,
Soon gave me to know I had nothing to dread;

He spoke not a word, but went straight to his work,
finding all the bugs in my code, making me feel quiet the jerk;

And laying his finger aside of his nose,
and giving a node, up the aisle he rose;

He sprang from his cube, to his team gave a whistle,
And away they all flew, quite like a missile;

But I heard him exclaim here he flew from action
Remember parametrize your queries, and to all a good closed Transaction!

– With apologies to Clement Moore (to whom I have no known translation) who apparently wrote the original (and much better) version just a few miles from where I currently sit.

From Wikipedia: The poem was first published anonymously in the Troy, New York Sentinel on 23 December 1823, having been sent there by a friend of Moore,[1] and was reprinted frequently thereafter with no name attached. It was first attributed in print to Moore in 1837.

Partly decorated tree with presents under





Has PASS Passed? Does it Really Matter?

The last week or two of the Twittersphere and blogosphere has left me unsettled. Three members of the PASS Board have resigned in protest: Hamish Watson, Melody Zacharias, Mindy Curnutt. These are three people I’ve had the honor of working with and in Hamish’s case, even sharing the stage (albeit virtual) with. They’re great, hard-working, dedicted people. Rumors are that the Board is consulting with lawyers, presumably to see what is required for an orderly and legal dissolution of PASS as we know it.

Yesterday, a friend posted on my Facebook timeline that she hoped to see me again in a year when I came back out to Seattle for Summit. I had to say, it wasn’t clear there would be a Summit next year.

These things sadden me. Winter, at least here in the Northern Hemisphere is a time of literal darkness, but the situation with PASS, on top of our time of Covid and our bitter partisan divide brings darkness to other parts of my life.

But, I’m reminded of the good things too. Sitting on my kitchen butcherblock are 6 bags of cookies, plus a pile more for ourselves. Tonight is the 6th night of Hanukkah, where again my family and I will gather to light candles to remind ourselves of hope and joy among a dark time millennia ago when evil was vanquished. In a few days, Jupiter and Saturn will be in conjunction and create a single bright “star”. This will happen on the darkest, longest night of the year and then light will start to return and a new year will begin. A vaccine is out and being distributed and hope for 2021 builds.

And last night, I was reminded that PASS itself may be an organization, and I don’t know its future but an organization is made up of the people in it. It’s more than just the founding papers and bylaws and NDAs. To quote Shakespeare, “O brave new world, that has such people in it!”

What exactly do I mean? Well in more normal years, last night would have been our holiday party for the Capital Area SQL Server User Group. This means we would have gathered at a local restaurant, in person and shared stories and memories over food and drink. Months ago it became apparent that this could not happen this year. I struggled with several ideas to do instead. For one, we could have cancelled, but that just seemed too depressing. I could have found yet another remote speaker, but that just seemed boring. I can’t recall exactly where the idea came from, but I decided to do a version of “3 Truths and a Lie”. It turned out to be 4 Truths and a Lie. For those who aren’t familiar with the idea, or who do not listen to NPRs “Wait Wait, Don’t Tell Me” which has a version they call “Bluff the Listener”, the idea is some number of people (in my case 4) tell a true story, perhaps a bit outlandish. One additional person tells a lie. The others in the group then cast their votes for whose story is made-up. It can be quite fun.

I struggled a bit with who to ask to be guest speakers. I wanted folks that I knew could tell a good tale and that had probably some quite unusual stories. So I reached out and very quickly got back positive responses from everyone I asked. THIS is the #SQLFamily I’ve grown to know and love, always willing to help out and if it involves a good story, all the better. One of them, David Klee was positively giddy with excitement. And then it happened: several of the others had to drop out for personal reasons. They all reached out to me and apologized for having to drop out. I understood. Life happens and I know none of them did so without some anguish. But fear not, I had others to ask and other contacts of mine helped suggest names. Originally I was going to go with 4 total story tellers, but because time was now short, I reached out to at least one extra person to ensure if someone said no, I’d still have enough folks. Amazingly, all the folks I asked said yes. Now I had a total of 5 and that was fine, I decided to run with it. So, besides David, I ended up with Kellyn Pot’Vin-Gorman, Ed Leighton-Dick, Rick Lowe, and Amy Herold all weaving tales; of upgrades that included a Cheshire cat, the coworker who thought you had to sit and watch SQL jobs run to completion before going home, a trigger that would routinely update 63,000 rows, JBwelding USB ports in the name of security, and upgrading a server to something 31% slower for the low low cost of only $4M.

Unfortunately, the actual turnout for my group, despite the sign-ups on Meetup, was about 1/2 of what I had expected, but everyone had a great time. Surprisingly, no one guessed which of the above stories was made up (and I’m not giving it away). But we had plenty of prizes so everyone will be going away with something.

The one thing I went away with, was the confirmation that while I have no idea what the future of PASS is (ok, I have some thoughts, perhaps for another time), I do know that it’s far more than just the organization, it’s really the people, the demonyms of PASS that are the #SQLFamily I’ve come to know and love. In this season of darkness, knowing that there are such people out there fills me with hope.

So thanks to the folks named above and to all my other #SQLFamily members, and fellow CASSUG folks, including Ed Pollack and Ray Kim for your help over the past year.

One a finale note: for my birthday this year, I’ve added a link on my Facebook page to the local foodbank. I already exceeded two early goals and have added a third, stretch goal. Watching a segment on hunger and food drives on The Today Show this morning I am again reminded of how much I have and how lucky my family is. I would ask, if you can, donate, either to your local food bank, to the link on my Facebook page or to a charity of your choice.

Thank you and to all, a Merry Christmas, a Happy Hanukkah, and happy holidays for other holidays that you may celebrate.

Broken Potshards

Another email from a customer: “Greg, I can’t invoice this client, it keeps coming up blank, why?”

I grab the most recent copy of their database, go through the steps and find out now only is she right, it’s worse than she described. If I pick a random client, the invoice appears correctly AND I can even rebill them. But if I pick the client in question, not only does their current invoice come up blank, when I go to rebill them, the resulting PDF not only shows the invoices for EVERY client, but shows EVERY invoice that client has ever had (fortunately this organization only bills once a year.)

This is a custom app that a local vendor had written for them years ago but has since gone out of business. My customer approached me about 3 years ago to fix a few bugs in their app and since they’ve become a small but reliable source of income. While they call the app “the database” the reality of course is that while there’s a SQL Server database backing the app, most of my work is done actually supporting the app in VB.Net.

I generally don’t consider myself a VB.Net programmer, despite having done a fair amount of work in it for this customer, for an app for the National Cave Rescue Commission (NCRC), and for a large multinational several years ago. I generally prefer DBA work. So why do I do it?

Because it’s fun and because it involves what I call software archeology. I liken my work for this customer and the work for the multinational to what an archeologist does when they find a bunch of potshards: they try to reassemble them and figure out what they were intended to do.

For this customer, often I’m actually not fixing code, I’m drilling into to the code and the database to determine “what did the original developer intend?” “What business assumptions were made in the original design specs?” This means sometimes the customer will email me and say something like, “Greg, when I try to add a member to this group, why does it not work?” And I dig through the code and realize it was never intended that you could add a specific individual to a group. What you do is say that client has the following positions on that that group and then within the client “this person fills this position.” In other words, the original business case as that as a client updated its own individuals, the memberships in groups would reflect that. It’s a fine way of approaching the problem and honestly, works well. Except the current main user of the program was approaching the issue from the opposite direction: a new client had signed up and wanted to have people in specific groups so she went to the groups and tried to add specific people.

So, there was nothing wrong with the code, nor was there anything wrong with the design, just a different approach. But it took me several hours of digging through the undocumented code to determine why she couldn’t do what she wanted and how to go about doing it.

So what’s the deal with the most recent case? Well, it’s not a bug per se, though I’ll probably fix some code to prevent the problem. The issue turns out that their clients are charged based on how many groups or committees they’re members of and if they’re domestic or international clients (and in some cases can be both). There’s code to calculate a discount if they’re an international client and a domestic client and how many committees they’re on. However, the code assumes that the discount only applies up to so many committee memberships. It’s not hardcoded, but more a result of some math that in this specific case instead of returning a discount (even a $0 one) was failing to return any discount because half-way through the SQL calculations it was returning a NULL and of course $discount = $numcomm1-$numcomm2 where one of those is NULL will result in $discount being NULL.

So, technically the code should handle this better, but it was obvious once the pot shards were put together that the original designers and design specs never envisioned this particular combination of memberships (and in fact I think in this case it’s a mistake since in previous years the client was only a domestic client, not both).

It was a fun little mystery and I think I’ve solved the current issue for my customer, but eventually we’ll need to think about how to approach this issue in case it happens again in the future.

Personally, I tend to enjoy these little mysteries of trying to figure out what the code is doing, but more importantly why. It can be insightful.

And now back to some PowerShell code for my largest client that actually involves some real database work.

We’re all Scientists

Anyone who has had a young child knows that they like to pick up items and let them ago. This can of course be particularly frustrating when trying to feed them in a high chair and they decide they want to keep dropping their spoon.

But, honestly, it’s also sort of interesting. They’re being scientists and they don’t realize it, nor do most parents. They’re learning about gravity and consistency.  Things fall, and they do so consistently.

In the last century, Jean Piaget spent a lot of time researching child development and how kids learn and when they learned. Basically, among other things, they’re constantly doing little experiments and updating their worldview based on the results. Parents often observe this as a child develops language and grammar. A toddler might say something like “Where are Grandma?” and the parent corrects them to say “Where is Grandma?” and the child starts to develop the concept of verb agreement when it comes to singular versus plural. When you stop to think about it, much of the grammar you learned and use often happens long before you actually enter school and learn it in a more formal way. For example, did you realize there’s an order we use for adjectives that I suspect none of us formally learned in school?

While we may call this curiosity, it’s really being a scientist.

Unlearning Curiosity

At some point however, often we have to put a limit on a child’s curiosity. We start to tell them, “don’t touch the stove” because we’d rather they listen to us than to experiment and find out the hard way. This is probably properly cautious, but I think we can often go to far and we end up stifling a child’s curiosity. Sometimes this is overt as we tell kids, “don’t touch that, you’ll break it” or similar admonishments. And for the most part, that’s probably a good thing. But often we stifle in ways that are unintended, the classic “Math class is tough” which only served to reinforce a stereotype that girls didn’t do as well at math as men. As we know now (and honestly, some knew then), that’s not true.

Decades ago when I was teaching an adult continuing education class “Intro to Computers” (which at one point transitioned from Windows 3.11 to Windows 95, to give you an idea of how long ago that was), the biggest lesson I had to teach the students was “try stuff, don’t worry about breaking something. You probably won’t and if you do, I can fix it.” They literally had internalized a lifetime of “don’t touch, you’ll break things.” Once they overcame that fear, the rest of the class was easy. Once they realized they could be curious and try things and experiment all I had to do was provide guidance and encouragement. They generally learned most of what I wanted to teach on their own at that point.

Keep Being Curious

Personally, I love being curious. I love learning. I read 3-4 magazines a month including Scientific American and Discovery. I can’t tell you how many blog posts I read on SQL, PowerShell or random subjects, and on my cell phone, right now I have 47 tabs open to Wikipedia. These include tabs on Operation Barbarossa, Louis Brandeis, the Napoleonic Code (this last one after reading the entire page and multiple others on Common Law), and Neutron Cross Section among others.

But it’s more than that. I’ve also like to see how the real world acts. Last night I bought a bag of potato chips and before I opened them I realized they were very puffed up. I thought that that was curious and perhaps the result of something that happened at the factory until I thought to look at the barometer.

Which is a better barometer?

Ayup, it’s definitely raining

It’s nice when my hypothesis (the atmospheric pressure must be lower than usual) is confirmed. I of course dragged my daughter along to test my hypothesis.

I rewarded myself for my correct hypothesis with some chips. It only seemed fair.

This is not the first time I’ve seen this impact of atmospheric pressure on a sealed package. Back in college my buddy and I drove to the Grand Canyon, hiked it, and then up over the Rockies via the Eisenhower Tunnel. We had with us a vacuum sealed package of Canadian bacon that we had put off opening. We could definitely notice the change in atmospheric pressure as we drove from near sea-level where it was packaged to the top of the Canyon (over 7000′) hiked down to the bottom (closer to 2000′), back out and then drove over the Rockies (over 11,000′). At the Rockies the “vacuum” packaging looked like a balloon! It was actually fascinating to observe.

Takeaway

Keep being curious. Keep being a mini-scientist. Explore the world. Keep learning. And most of all, have fun! Within reason, don’t be afraid of breaking things! Drop that spoon. Make a copy of your database and try to use new tools to manipulate it. Experiment. Be curious and learn.

Backups Are Useless

I’m going to take a controversial stand and argue that backups are useless.

Over the last few months I’ve worked with a client of mine to test their Disaster Recovery procedure for one of their major in-house applications. This involved multiple several-hour meetings with anywhere from 5 to 10 people at each meeting, sometimes more. Each hour probably cost the client $1000s of dollars. The cost of running these meetings and tests probably cost the client well over $100K.

This is ignoring the costs of the associated hardware, the power for the backup datacenter, the cost of heating and cooling, and of course the licensing. I wouldn’t be surprised if they easily spend more than $1 Million a year in backups and the like.

And for what? A fairly low probability event?

I mean sure, if their system failed and they had no Disaster Recovery plan it could cost them 10s of millions of dollars in business and perhaps even end up putting 100s of people out of work. But they’d find other jobs. In the meantime, all that money spent on backups could have been spent on other things like lunches for for the employees (and maybe a pizza or two for select consultants). Think of the boost to the pizza economy that would have been!

So, don’t do backups.

Oh and don’t wear a mask. They’re hot, sweaty, and really not even .1% of the US population has died. And sure, you might get COVID-19, but you’ll probably survive. Sure, you might have some cognitive long-term issues, but hey, that’s sort of like the employees at my client above who, if the company went under, could simply find another job. I mean it’s not a big deal. Amirite?

Now let’s be serious. If a DBA came in to your business and said not to bother doing backups, you’d probably laugh at them. Do backups. And of course wear a mask. There is so much evidence it makes a difference. And, socially distance for now. And reconsider large family gatherings for the next month or two, if only to help increase the odds that you can have such a gathering a year from now.

Part of this post was prompted by a question on Quora from a user asking how to recover their database if they didn’t have a backup. I hated to tell them that it might be too late and there was quite likely little they could do. And I’ve read too many heart-wrenching stories from nurses who have had to hold the hand of a dying patient because they thought Covid was no big deal or a hoax. So, please, take precautions. Even if nothing happens to you, it may happen to those close to you.

That said, I will repeat an adage about backups I heard a few SQL Saturdays ago: “Backups don’t matter, restores do!” So do backups, but restore them every once in awhile to make sure that they actually work!

For the record, with my client, not only did the official DR test run go smoothly, we beat our RTO and RPO by huge margins. If disaster strikes, it’s highly likely this customer will weather it without threatening the future of the company.

The Song is Over

So the past few weeks I’ve been writing about PASS in general and about Summit. And now like several of my fellow #SQLFamily members who have already blogged, such as Deb Melkin and Andy Levy, I’ve decided to post a post-Summit post.

First Impressions

Virtual Summit was better than I expected it to be. Let me actually correct that a bit, it was much better than I expected. Now, it was not as great as in person, but my fear was virtually it would completely lack any semblance of the social interaction that makes Summit such a great experience. And while the social interaction was greatly diminished, it was still there and that made it a great experience. I will add that Twitter really helped here, both with the #SQLFamily and #PASSSummit hashtags.

My Sessions

I was honored to have the opportunity to speak at two sessions this year. This is a grand total of two more than I’ve ever had given before. Initially I had been selected to give a session on PowerShell for DBA Beginners. I was a bit disappointed to learn it would be a prerecorded session, but took that in stride. I was very curious how it would work. More on that in a bit. A few weeks before Summit I was asked to take part in another session, this time a live panel session All About PowerShell Panel Discussion. I immediately said yes. And then was later reminded by my wife I’d be out of the house taking her to an appointment and back. This was going to complicate things. But I didn’t want to say no, in part because I felt honored to be among such great luminaries: Hamish WatsonBrandon LeachRob SewellBen Miller. So, I decided I’d do it from my car in the parking lot. And since this would be live I was really excited for that, since I had been looking forward to the real-time interactions. The only other drawback was the timing. It was an 8:00 AM EST session on Wednesday, which meant it was one of the first sessions of Summit, and it would be live, so if there were opportunities for things to go wrong, this would be it. Other than Hamish being up at I think about 1:00 AM his time and a wee bit sleep deprived (or as he put it, the entire world now was on Hamish Standard Time) it went really well. He did a great job of moderating and we had a very good turnout and a number of good questions from the audience. I’ve written about PowerShell quite a bit in my blog and for Redgate and feel very strongly that every DBA needs to have some experience with it, so this was a great opportunity for all of us to evangelize a bit. I was really happy with the this session and can’t wait for the recording to be available. It left me in a very energized state for my session at 2:00 PM the same day.

I had realized several days before my 2:00 PM session that there was a benefit of having it prerecorded. I didn’t have the normal butterflies I have before presenting. It was done. I couldn’t change it. I went into it very relaxed. That said, I did make one change to my normal desktop setup. I added a monitor.

Multitasking at Summit for the win!

The upper monitor is generally my TV but has a HDMI input so I added that to my usual setup. This allowed me to have the ARS window up there so I could see questions and comments and answer them or moderate as needed. The lower left is the video chat window. Though in theory this was only needed during the live Q&A session at the end of my session, I opened it right at the beginning and was able to chat and share with others. You can see my accidental selfie in it. The rightmost monitor showed my presentation as attendees would see it.

After chatting with some other presenters I realized most did not go full-bore like I did and just did one window, generally the ARS window, or maybe the ARS window and their presentation muted in another. For me, the setup above worked well and I’d use it again. I’m used to multi-tasking like this and it worked really well. While I couldn’t modify the presentation itself on the fly in response to audience input, I could interact with the audience in a way I hadn’t previously.

One drawback of the system was while my presentation was on, I had no idea how many were actually “attending” it. Before it started the window with the link to it showed 143 people as “attendees” but I have no idea how many actually ended up viewing, but I’ve got to say even a 1/3rd of that number would have been a win for me. I was VERY happy with those numbers. Also the questions I got during the session and during the video chat Q&A after and then via email really pleased me. It seems like I met my goal of generating interest among people was a success.

Another drawback I realized half-way through (due to a mistake on my part of trying something) was that if you came into the session late, you started at the beginning, not at the same point in time as everyone who had started at the start of the session. While later on I think this is ok, I think during the session presentation times, folks should come into “where the session is at that time”. For me, it meant I had to figure out where most of my attendees were at that point in the session.

After I was done I realized, “that was it. My work is done, the rest is just fun now.”

Other Sessions and Events

I found myself, despite work interfering attending probably as many sessions as I might have at an in person Summit. These included Rob Sewell‘s session on Notebooks, PowerShell, and Excel Automation and LGBTQ+ and Pass Local Groups Birds of Feather sessions on Wednesday.

On Thursday I started with Bob Ward‘s Inside Waits, Latches, and Spinlocks Returns (which is so information rich, but at 8:00 AM EST? Really? And what’s worse, is he makes it seem just so natural), part of Erin Stellato‘s Query Store Best Practices and part of the Diversity in Data Panel Discussion: For the Professional Woman, Itzik Ben-Gan’s Workarounds for T-SQL Restrictions and Limitations which again blew me away with how powerful SQL can be in the right hands.

On Friday I moved on to Brand Leach’s SQL Server Configuration And Deployment With Powershell DSC which gave me some great ideas I hope to implement someday. After lunch I caught Ben Miller’s Getting Started with PowerShell as a DBA (I always like to see how others present on similar topics, gives me ideas to compare and contrast and while we had similar topics, very different approaches and I’d recommend people view both). I finished the day and basically the Summit with Panel Discussion: Consulting 101 – Help Us to Help You. Despite being a consultant for many years, I’m always looking for new tips (and new clients, hint hint)

I also attended several of the keynotes and was especially blown away by the Diversity, Equity & Inclusion Keynote by Bärí A. Williams. I would HIGHLY recommend watching that when you get a chance if you didn’t watch it before.

So That Was Summit

So technically that was Summit. I learned a lot and had a great time. But, I have to talk about some of the drawbacks and disappointments.

For the vendors, I think Summit was a bust. This is unfortunate. I think it’s just harder to do it this way. One thing I noticed is that some vendors advertised “one on one” video chats. I avoided them because I didn’t want to tie up precious resources just being sociable (I don’t have much vendor needs these days). But it turns out in at least one case it was really a 1:Many relationship and the vendor would have welcomed more folks just stopping by. I think that’s on the vendors for not being clear enough in their own descriptions. But that said, even with that change, I think an issue with “stopping by a booth” is there’s more pressure to make it solely productive and not about being social. I don’t know how to change that. I’ll also admit I quickly gave up on trying to collect my points or whatever it was like I would stamps at the in person event. I was told this was more straightforward on the mobile app, but I had no desire to download that, especially since I was attending from my desktop. That said, I think in general vendors struggle with making virtual events worth their time and money. That last one is important because it’s what makes PASS possible. So, perhaps it’s still worth showing a vendor some love and mention you saw their name at Summit.

Overall, I’d say I think the prerecorded sessions and the ARS/Video chat stuff went better than I had hoped for. I’d probably do it again if I had to. I really only had two issues. For the prerecorded sessions there was no way to “pop” it out or expand the presentation screen. You were forced to have he Chat/Comment sidebar at all times. This took up precious screen space. For some reason on the live sessions you had this ability. This should have been made available on the prerecorded sessions. Also, it appeared the session window did not scale. i.e. if you had a monitor with higher resolution, it simply kept a certain mount of space around the presentation itself. Overall, the session window did NOT take good use of screen real-estate. This was compounded by the fact that some presenters (me included) did not make their fonts large enough. On my screen when I was recording, the size was great, but once in the presentation window, for many nearly unreadable. I know at least one person left my session because of that. I’ll own up to the fact I should have better headed the recommendations and probably gone overboard on font size, but the fact that screen real estate was so poorly used only exacerbated the situation.

I was disappointed in the turn-out for the two Birds of a Feather sessions I attended. I think the timing was rough, especially for folks on the East coast and perhaps Central timezones. Honestly, I think the Birds of a Feather and some of the other social times should have had FAR wider windows of time, perhaps from lunch until dinner or past. Take advantage of the fact that folks are in different timezones to get more moderators. I know I’d have attended more Birds of a Feather sessions had they been available at times other than when I was making dinner (or eating my salad).

That aside, the one issue that quite honestly angered me and I felt there was no excuse for was the horrible closed-captioning. When I first heard about it I was excited because I’m a firm believer in accessibility. All speakers were told we had to have our sessions recorded early enough so that closed-captioning could be applied. Given the time frame I had wrongly assumed this included time for a Mark I human brain review. It was VERY apparent that the closed captioning was purely automated and had not been reviewed. Some of the errors were comical, apparently at one point I was talking about T-CPU and not T-SQL, and another presenter was creepily talking about skin. Other errors made the presentation at times seem senseless. I had more than one person comment that the real-time capabilities of PowerPoint did a better job in their experience. Pretty much every speaker I spoke with had similar complaints. So, in conclusion I’ll say, I’m not sure the point of having stuff in so early when current realtime tools from other vendors can already do a better job. If you have two weeks to review the closed-captioning, I highly recommend outsourcing it to a human to review. Or somehow give speakers the ability to touch it up (if that was a possibility neither I nor any other speaker I spoke to was aware of it, and it was not on our speaker checklist on the dashboard). Honestly, not only do I think there was no excuse for the poor quality, I think it did an actual disservice to any hearing impaired people trying to attend.

Finally

By the time you read this, it’s probably too late, but if you haven’t VOTE OR YOUR PASS BOARD if you’re eligible. I’ll be blunt, we’re at a crossroads with PASS and we may not have it a year from now. But no matter what happens, if you’re eligible to vote and failed to do so, I really don’t want to hear you kvetching about the future of PASS.

And while it’s too late to register for Summit, if you have already, remember, you get access to ALL the sessions for the next 12 months. Take advantage of that!

Almost There

The important election season is here. No, I’m not a week off or 4 years ahead of my time. I’m not talking about the recent US election, I’m talking about one that is upon us in PASS.

In the past few weeks I’ve blogged about my speaker preparation timelines here and here. Tomorrow morning, the pedal hits the metal and I’m doing a live panel discussion on PowerShell with some great panelists. And then in the afternoon my pre-recorded session on PowerShell for DBA Beginners will be broadcast with me doing a live Q&A afterwards. I hope you can join me for both.

Over the past few months I’ve been promoting the SQL PASS Virtual Summit. I’ve tried to get as many folks to sign up as I can, but honestly, I’m not sure I made much of a difference. Most of the folks I know had already made up their minds. But I didn’t stop. I even was promoting it at my User Group last night. And I’ll say now, it’s still not too late to sign up if you want.

I truly do think that PASS Summit is one of the great things our community does.

But…

Yes, there had to be a but here. I’m not happy, and from the blogs, tweets, and private comments about I’ve heard, neither are a lot of a other people. We have to be honest. COVID and going virtual has hurt PASS in several ways, but very much financially. There may not BE a PASS in the future if things don’t change. Some folks want to put the blame at the feet of C&C, the organization PASS pays to manage its daily affairs. Others put their blame elsewhere. There are many recriminations and attempts at casting blame. I don’t want to dwell on that, other than to say often I think it’s misplaced and can be hurtful.

Let me start by saying that I don’t think anyone, on the board, at C&C, or otherwise is acting in bad faith or ill will. I know many of the people involved and I truly think they’re good people who mean well.

But, that said, I think things have to change. Initially I thought about running for the board, but honestly, didn’t have the time to do the research and background gathering I wanted to before I could submit my application to the nomination committee. I reached out to several of my peers and colleagues for their thoughts and received a lot of useful feedback. But the long and short is, I’m not running. Perhaps next year. However, that doesn’t mean I can’t help effect change. Nor does it mean you can’t either.

We can effect change by voting for who we want on the PASS Board for next year. The list is here at the bottom. Steve Jones also has a quick blog listing them and other links. Rather than reproduce what he wrote, use the link above.

Just like in the US elections, I think it behooves oneself to participate as fully as possible and that means doing your research on candidates and actually voting. I’m not going to make recommendations here. In part because I still have to do the first part and do more research. But I can say this much, though I’m not running this year, I am certainly voting this year. PASS is very valuable to me and I want to see it be the best organization it can be and to do that, I think it needs to change and I hope to see it change for the better.

So, I’ve promoted Summit, I’ve prepared my presentations, I’ve kept my User Group informed. And shortly I will do the last bit for this year, and vote. I hope you do to next year.

And in closing, I’m going to steal a line generally said at Passover: Next year in Seattle! In the original it’s a call for hope to meet again in Jerusalem and in that spirit I truly hope to be among my friends and family next year in person, be it Seattle, Houston, or another city.

Speaker’s Timeline Part II

This is a follow-up to my first part. But before I dig into it, I want to thank all the readers who check in on my post last week. I had the best week ever in blogging. And I’ll admit, while my ego was pleased with the numbers, I think what really warmed me heart was the number of my fellow #SQLFamily members who retweeted, shared, or gave positive comments about it. Thanks.

So, back to my speaking timeline. On November 11th I’m giving my presentation on PowerShell for DBA Beginners at 2:00 PM EST. I’d be thrilled if you joined me.

So, last time I wrote about this, I had ended with what my next steps would be.

October 20th around 10:00 PM EDT

Upload final version of slide deck. Yes, I could probably improve upon it (and looking back now, there’s 1-2 slides I’d probably like to fix, but oh well).

October 20th – 10:44 PM EDT

Confirmation email: slides were received. Excellent!

October 21st – Midday

One more run through. Basically nail it at right around 0:58. But now really worried, what happens if I finish early before the live Q&A? Will there be 2 minutes of dead air?

October 22nd-24th

Do nothing. I deserve a break. Right? Right?

October 25th – Late Afternoon

Record my presentation with Zoom. It’s acceptable, but I made a mistake or two. Worst case, if I run out of time, I can use this, but honestly, I want a redo. But, like a good dba, I basically have a contingency plan in place in case I don’t get time to do a redo.

October 26th – Morning

Decide to use OBS to record, in part so I can include a window of me talking. I think it’ll be a bit more personal and interactive than simply having slides and a demo with a faceless voice talking.

October 26th – Morning 30 minutes later

What was I thinking? Why go through all this trouble. This is more work than I want to deal with today.

October 26th – Morning 45 minutes later

Ok, this just might work! I’ve figured out how to get the overlay the way I want, but gave up on green-screening me against a background, but that’s ok because the thumbnail video is small enough my background is not distracting.

October 26th – Morning 1:00:08 later

This recording is nearly perfect. I think it ran over by about 8 seconds, but if they cut that, it won’t hurt anything. Honestly, I’d ilke one more try, but I can’t stand the thought of listening to my own voice one more time.

October 26th – Late afternoon

Wait until the kids are done with school Zooms and my wife has no more meetings to start the upload.

October 26th – an hour later

Hmm, seems stuck. Do I wait or start over?

October 27th – an hour and 5 minutes later

PASS Virtual Summit 2020 – ‘Upload Video’ Upload Confirmation email arrives.

Excellent!

October 27th – an hour and 6 minutes later

Tweet about it!

Since Then

Several of my #SQLFamily members admit, some publicly, some in private that they missed the deadlines or at least feel better that they’re running as late as me. I feel for them and I’m glad that my timeline and tweets made them feel better about their own timelines.

Up until I had finally submitted my video, I had put off watching any other presenters talk about PowerShell. But now that I’ve submitted my video, I’ve decided to relax that rule and watch at least one other presentation on an introduction to PowerShell and start to think, “why didn’t I bring that up? Hmm, he’s got a good point there. Hmm, I should have covered that.” I start to have doubts about whether my presentation will hit the mark. But fortunately, upon further reflection I realize the other presenter took a different tack than I did and mine has a focus he doesn’t. Someone watching both will actually get useful information from each of these. Now I’m feeling better. In fact, feeling great because I think this is the way it should be, multiple paths to the same end point that can broaden your horizons. And given the time limitations there’s only so much any presenter can cover in a limited amount of time.

That said, I realize that Rob Sewell is doing a full-day pre-con called Introduction to PowerShell. I’m curious what he’ll cover and both am jealous he has a full-day to do this and thankful I didn’t have to come up with a full-day’s worth of slides and scripts! That said, I know this will be a great one, so highly recommend you attend. I’ve seen Rob present at lest once before and it was great.

October 28th – 6:40 PM EDT

Get an email from Audrey at Pass Summit asking if I want to be part of a part of a live Q&A panel with Rob Sewell, Hamish Watson, Brandon Leach, and Ben Miller at 8:00 AM on the 11th. I have to think about this? There’s some big names on that panel and they want lil’ ol’ me?

October 28th – 6:41 PM EDT

Reply, “Hell yeah!”

October 29th – Over the course of the day

Folks at PASS realize the world is round and that we all live in different timezones and 8:00 AM may not be the best time for folks living Down-Under. Of course their first suggestion for a new time is even worse. Finally Hamish steps in, declares the entire world is in the Hamish Time Zone and that the original time is fine and he’ll let FutureHamish deal with the lack of sleep. Fair enough!

October 31st – Morning

My wife reminds me I’ll be out of the house at 8:00 AM on the 11th. I start to panic, but decide, “I can do it from the car with my cell phone.” So this is going to happen!

November 2nd – 2:00 PM

Tech check with Zoom and all to make sure things will work for next week. Learn a little more about how the recorded session will work. Still nervous for the “live from the car” presentation, but do the tech with the cell phone as my uplink and it works.

It’s getting real.

Today – November 3rd

It’s election day and just over a week from my presentations. I’m excited. I’ve made it clear to work I won’t be available at all on the 11th and not much on the other days. This is going to be a summit unlike any other. I’ going to have to remind myself to actually “attend” it.

And now, finish up a few things and go vote.

I’m voting today for my kids and my friends and my family, blood or chosen. I’ll be voting for the future and for hope.

Voting and Apple Pie – Two American Traditions!

What’s My Lane?

Yesterday a fellow #SQLFamily member, Brent Ozar tweeted about how someone objected to some content in his latest email he sends out to subscribers. Based on the response, I’m guessing it was this email.

Now, let me back up and in full disclosure say I’ve met Brent once or twice, sat in on a SQLSaturday session of his and one User Group meeting where he presented, but don’t know him well. We’ve never sat down and had a beer or discussed DBA topics together. And, in fairness, my blog on a good day probably gets 1/1000th the reads his blog will get on a bad day. He’s what some might call “a big name” in the industry. He’s an expert on SQL Server and well worth reading for that reason alone. I can’t guess how many people read his blog or newsletter, but I can say it has influence.

And so, someone felt that him writing about something other than how to build an index, or why not to use an update in a trigger was him straying from his lane and he should stick with data related topics. He’s already responded in some tweets and I presume elsewhere but I figured it was a good topic for me to blog about.

As long-time readers know, I don’t write just about SQL or PowerShell, but I also write about cave rescue or marshmallows or Safety (one of my more popular pages strangely). In other words I have an eclectic array of topics. But I also have some themes and I’ve written about (not) being an ally, or gender factors in giving blood. There are others, but the general point is I sometimes also write about social issues I think that are important. I think I’d be hard pressed to say what my lane is here; perhaps it’s more like a curvy mountain road?

But let’s go back to the person who told Brent he should stay in his lane. What lane did that reader refer to? I’m presuming it’s a narrow lane of “topics related to databases”. But, I think that person is wrong and I fully support Brent’s “straying from his lane.” Why? Because of power and privilege.

I’m going to go out on a limb (though I suspect it’s not a very far one) and state that I suspect Brent and I share much of the same privileges simply by being born the gender we are and skin color we have. There are other aspects we probably share.

These innate privileges give us power. And sometimes we are consciously aware of that power and other times unconsciously blind to it. Having the power and privilege itself isn’t an issue. It’s how it’s used that is important.

For example, all too often, I forget that I’m more likely to be taken seriously when I talk about a technical topic than some of my fellow DBAs, simply because of my gender and/or skin color. I can be unconscious to that power and privilege or I can work to be conscious of it. And by being conscious I can try to improve the situation for my fellow DBAs who don’t have my innate privileges.

I can be ignorant of that fact that no one questions my marriage and be oblivious to how some had to wait for the Supreme Court to recognize the validity of their love for their partners. Or, I can be aware of that and support my LGBTQI brethren in being allowed to live with who they choose and to marry them if I wish. This shapes my political opinions and who I will vote for. For example, I won’t vote for someone that I think will act to take away same sex marriage or will enact legislation that hurts such folks.

But there’s also more conscious forms of power. Simply being aware is not enough. Making room for others to be heard is a positive use of power. This is what Brent did and I fully support it. But, he didn’t simply make room, he provided the metaphorical microphone and the loudspeakers. If you didn’t look at the link above, look now. You’ll note that Brent didn’t write the email in question, but rather he gave space to a fellow DBA, Andy Mallon. This wasn’t an accident, this wasn’t Brent being lazy and not wanting to write an email, this was a conscious choice. This is using his power as a well known DBA and “big name in the industry” as well as his privileges to give a voice to others. (Please note, Andy’s a friend of mine, I’ve spoken with him at SQL Saturdays and he’s no slouch, but as far as I know he doesn’t have the audience that Brent has.)

I can support that use of power and if it’s “straying from his lane” so be it!

That said, as I wrote in my article in giving blood, as DBAs, we can NOT simply divorce ourselves from social issues. It’s not as simple as “well I just write SELECT statements and create tables.” The very data we record encodes social standards. When we make gender a bit field, we’re enshrining a very binary view of gender that does not reflect the lived lives of those around us. When we make fields that say Husband or Wife, rather than Spouse 1/Spouse 2, we are saying that only a certain form of marriage is valid (And for that matter, why stop at Spouse 2, why not make it a separate table for the day when someone walks in and claims to have more than one spouse.)

In other words, even if Brent had never strayed from writing about SQL Server, his lane would properly include social issues. Data isn’t nor should it be completely separate from social issues.

And I’ll toss out a few URLs here:

P.S. for those who read my post last week, I’m happy to say I got my slide deck and recording uploaded for presentation at PASS Virtual Summit 2020: PowerShell for DBA Beginners! So join me on Nov 11th at 2:00 PM! And use code LGDISIIK3 and save $50!