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!

A Speaker’s Timeline

This post will be short, for reasons that are hopefully obvious by the end.

Sometime in February

Hmm, I should put together some ideas to submit to present to SQL Summit in Houston (not Dallas as Mistress SQL pointed out to me) this year.

March 16th

An update, the call for speakers has been postponed. Darn.

March 23rd

Call for speakers is finally open!

March 30th

Submit 3 possible topics.

April 1st

Approach a fellow speaker about a possible joint session, but after discussion, decide not to go ahead with the idea.

June 3rd

Get an update, Summit will be virtual this year. Thankfully I didn’t book any tickets or hotel rooms in Dallas.

July 20th 6:49 PM EDT

Woohoo! I got the email! One of my submissions got selected to present!

July 20th 6:50 PM EDT

Crap, now I actually have to write the entire thing!

July 20th 6:51 PM EDT

Wait, and it’s going to be virtual too. That’s going to make it a bit more of a challenge to present. But I’m up to it!

Sometime in August

I really should get started. Hmm, here’s one of the scripts I want to present.

But honestly, I’m preparing to teach a bunch of cavers and medical students cave rescue, I need to concentrate on that first.

September 5th

I just biked over 100 miles. I’m certainly not working on my presentation THIS weekend.

Later in September

Ok, now I’m going to sit down and really work through this. Here’s a basic outline.

October 1st

Oh wait, it’s going to be virtual AND I have to prerecord it? How is that supposed to work? I had better read up at the speaker portal!

October 2nd

Huh, ok, that sorta makes sense, upload the slides, do a recording, but I still don’t get how it’ll work with a presentation like mine with lots of demos. Well I’ll figure it out.

October 6th around 11 PM EDT

Well the PowerPoint template deck they provided looks pretty slick. I should start prepping my slides.

October 6th, approximately 5 minutes later

There, got the first slide done. Of course it’s only my name and pronouns, etc. But it’s a start.

Oh and the 2nd slide is done, but that’s simply the default PASS slide talking about chapters, SQL Saturday etc, so technically I didn’t do anything there.

I’ll start working on the closing slides.

October 7th, sometime after midnight

Ok, about 5 slides done. I’ll like to myself and say I’ve made great progress!

October 9th, approximately 10:00 PM EDT

Ok, I’ll at least start writing out the scripts I need.

October 9th, 20 minutes later

What the bloody hell? Why is this script failing? I’ve got to present this. If I can’t get this script working how is anyone going to believe that I know PowerShell, let alone actually use it.

October 9th, 5 minutes later

Well, damn, that was an embarrassing mistake, just had the , in the wrong place

October 10th around 9:00 PM EDT

Hmm, to properly demo this, I really need to run against 3-4 SQL Servers and I really don’t want to spin up a bunch of VMS and I can’t use my development one, too much proprietary data there.

I know, NOW is a perfect time to start to learn to use Docker! Why not? And besides Cathrine Wilhemsen has a great post on it. I’ll simply follow that.

2 hours and 1 reboot later

Hey, would you look at that? I’ve actually got a docker container running SQL. This is awesome!

Another minute later

But why can’t I actually connect? What network is it on? Why did I decide docker was easier? Why did I even submit this proposal? What the heck am I doing here? What is the meaning of life?

5 more minutes

That’s it, I’m going to bed.

October 11th, late night

Oh, I get it it now, I didn’t setup a full separate network, it’s bridged and that’s why it’s showing 0.0.0.0. I just need to change the port and I’m good to go!

A minute later

This is pretty awesome. Not what I’d do for a production setup, but definitely works for my demos. Now if I were really smart, I’d also setup persistent storage and the like, but this is good enough. And honestly now, setup a loop, increment a variable and bam, I’ve got 4 instances of SQL running in docker, 2 are 2017 and 2 are 2019. This is really incredible. I’m proud of myself.

Oh and even better, I’m doing all this in a PowerShell script, so I can actually make it PART of my presentation!

October 12th 2:26 PM EDT

Send off an email to the Program folks at PASS asking about how the recording stuff works with demos. Eagerly awaiting a reply.

October 15th, another late night

Yes, there’s a theme here, much of my work is being done late at night. It seems to work for me. But dang that deadline is getting closer!

October 16th, late night, again

Watched some Schitt$ Creek with the family. “Why didn’t we start watching this sooner? It’s hilarious! But I need to work on my presentation some more.”

Get all the PowerShell scripts basically done. I’m happy with it, need to work on my speaking script some.

October 19th 3:00 PM EDT

Get off the phone with a fellow Cave Rescue expert. Just before I get off, I mention my upcoming virtual, prerecorded session I have to finish. He says, “Oh, you know I just did 2-3 of those for a rescue conference, exact same format. It worked out really well. I can send you some details and feedback.”

I find that reassuring.

Also recheck email, still no answer from the folks at PASS on my questions about demos, etc.

October 19th, guess what time

I’ve finished everything, even updated the slides and scripts a bit more. I’m a bit worried I’m going to run too long, but decide to do my first of several practice run throughs.

Do my first full run through. Stop and correct a few mistakes or rough edges here and there. I’m not too worried if I run over now since I know I’ve artificially added some time.

October 19th, 42 minutes later

I get done, look at the PowerPoint timer: 42 minutes. “CRAP! I need this to be 60 minutes!” I’m not too worried, I can add more, but I’m not sure where and I don’t want to simply add fluff for the sake of fluff. I need to give this some thought.

Later on October 19th

Talking to a friend of mine who among other things has a background in adult education. She doesn’t know SQL or PowerShell, but she’s a good sounding board and she’s going to sit through my next run-through, not so much for the technical details but to give feedback on the flow and perhaps suggestions on where I may be making too many assumptions on what my listeners will know.

October 20th Early Morning

It’s a Tuesday, time to blog. As always I face that question, what should I blog about?

“I know, I’ll blog about how I’m getting my presentation together and the deadline is fast approaching. I can’t be the only speaker that often finds themselves up against the deadline and panicking.”

Next 36 hours

Add a bit more content and run through it 2-3 more time and then… RECORD! (technically it looks like I have until the 26th to upload my recording, but I want to get done early).

Conclusion

The above may or may not be a wholly accurate timeline or description of the process I’ve gone through trying to get my presentation ready for Pass Virtual Summit. I may have elided a few details and over-hyped a few others, but in general it’s close to true and accurate. Despite my always best intentions, I find myself often working up close to the deadline for submissions. Since for Summit they want NEW presentations, I can’t simply dust-off one of my previous presentations and use that, so there’s definitely more work involved here.

And honestly up until I learned it was going to be prerecorded, I thought I’d have most of October to work on it. The deadline to get the slides and recordings submitted sort of threw my original timeline for working on it in the dumpster so I’m actually a bit further behind than I expected to be.

On the other hand, I really did learn to use Docker and I think that’s valuable and I am making that part of my presentation. And, when all is said and done, I think I’ll be happy with it. I think though like any good speaker, I’ll look back and think “well next time, I’ll have to improve this or that.” There’s always room for improvement. I’m not keen on giving it prerecorded. I value the instantaneous feedback I get from the audience. So that will be different. But I at least can elicit questions during the presentation and there’s a life Q&A afterwards. But, I’ll still be nervous.

I’m in awe of speakers who get their presentations all prepped and prepared months in advance, but I suspect there’s a number out there like me, that don’t operate that way. And I suspect there’s a few who are even more nervous than I thinking, “OMG, am I the only one in this spot?” Nope, you’re not. Or rather, “Please let me know I’m not the only one!”

See you all at Summit, at least virtually!

And in the meantime there’s another possible deadline coming up I need to think about…

Privilege is a Tailwind

I’ve written about how much I enjoy bicycling previously. Besides being good exercise and a decent way getting from point A to point B, it gives me a chance to think about things. Sometimes it’s deep thoughts, sometimes it’s simply prosaic, as in “hmm, how fast do I need to do this section to keep my average speed up.”

One thought that has run through my head often is the impact of a tailwind or headwind on my average speed. There’s certain truth that I think many bicyclists will agree with and that’s a headwind somehow always finds you. Seriously I’ve done in/out loops (i.e. out X miles and make on the same route) and it seems the wind will reverse directions about half-way through.

In any impact, air resistance is one of the banes of speed. What makes it worse, is the impact is really a square factor, i.e. if you go twice as fast, the impact of air resistance is 4 times as much. This is why it’s fairly easy to bike at say 5 mph, not to bad at 10 mph and much harder at 20 mph and unless you’re a star athlete, to go 40 mph for any real distance on a flat path.

Now, if you’re trying to bike into a headwind, that just multiplies the impact of air resistance. Even a slight headwind can really slow you down.

Fortunately, a tailwind has the opposite impact and can help.

Saturday it was in the 70s here so I decided to get in a longer ride (a bit over 20 miles). It was a fairly blustery day and I didn’t expect to have a great average speed. And I was right. For most of the ride I was actually heading into a headwind and on the sections where I did have a decent tailwind I was climbing hills and already moving slowly so the impact wasn’t very much.

But enough about aerodynamics and back to thinking while biking. While I’ve often thought about the impacts of a headwind vs. tailwind a new analogy dawned on me: tailwind as privilege.

Privilege in this case refers to the systemic advantages one has because simply because of the circumstances of their birth. It doesn’t necessarily mean you had it easy, for example you may have been born into a low-income household, but it does mean you didn’t have artificial constructs placed in front of you as you tried to navigate life. In addition it doesn’t necessarily mean you didn’t have certain advantages, you may be a person of color born into a high-income household.

Let me continue with the analogy.

While biking, if I’ve got a nice tailwind, it feels great. In fact I’m pedaling along effortlessly and don’t have to give much thought to my ride. If I’ve got a headwind, I may be pedaling with all my effort but not moving very fast. And I definitely notice the extra effort.

Privilege is not the quality of my bike. Privilege is not the hills I have to climb or go down.

Privilege is not being born into a neighborhood that suffered with redlining, which means even decades layer home values are depressed which makes it harder to get loans and harder to improve the neighborhood in general.

Privilege is being able to wear what clothing you like without people immediately thinking you’re a criminal.

Privilege is being able to put a photo of your family on your desk without worrying about if your homophobic coworkers will make comments or your boss will consciously or subconsciously take it into consideration at your next review.

Privilege is being able to walk out of a bar holding hands with your sweetie and not worrying if someone is laying in wait to beat you up solely because of who you love.

Privilege is being able to walk into a car dealership and not worrying about if the dealer will take you seriously because of the gender you present.

Privilege is going into a meeting and not having someone ask you to take notes simply because they think women have neater handwriting.

Privilege is being given a 3-speed bike, but being on a course that automatically has a tailwind. When it’s level, you might struggle a bit, but you don’t really notice the air resistance. Hills are an issue, but everyone has trouble with those.

Lack of privilege may be being given a beautiful 21 speed graphite frame bike that weighs practically nothing, but being put on a course with a headwind. For practically the entire ride, you notice the headwind. On level ground, you’re pedaling as hard as you can, but you realize you’re not having it as easy as the bicyclist with the tailwind, regardless of your respective bicycles. On downhills, yeah, gravity helps, but again, you notice the headwind and can’t even coast as easily as the person on the other bike. Sure, both of you may struggle on the uphills, but you realize that once you’re both at the top, again they’re going to have an easier time.

And what’s worse, is the person on the 3-speed will complain about the horrible bike they’ve been given, how lucky you are to have been given the 21 speed and then have the audacity to suggest that you just need to bike harder to keep up, after all, they’re doing just fine on a 3-speed and the tailwind they have has nothing to do with their advantages.

I also noticed something else my ride. The headwind was from the south, and the flattest portion I was biking was southbound. For much of it I had some shelter from the headwind because of trees and the like so it was less noticeable, but the minute I was in an open area without trees, the headwind was definitely noticeable and definitely slowed me down.

Now if the person with the tailwind can upgrade to the same 21 speed graphite frame bike, they will be able to go even faster, but that tailwind will always be there, assisting them. The person with the headwind, no mater how much better their bike is will always have a built-in disadvantage until the wind changes.

In reality, I really only encounter tailwinds while biking. For the other areas of my life, I’ve had a tailwind. I’m not aware of it unless I think about it but it’s there. Don’t mistake for the bicycle you ride for privilege or the lack of privilege. It’s the tailwind that’s the privilege.

I wish everyone, bicycling or not, a strong tailwind.

Projects You’re Proud Of?

When I present, I start my presentations with a brief bio of myself and one item on there I generally have is a comment that I like to solve problems. This may sound obvious, but it’s true and I think describes my goal well. Yesterday, while on a 3 hour zoom call with a client, we got talking about various projects and it made me think about some of the problems I’ve solved over the years.

There are several I could talk about, but one came up yesterday. Several years ago at a previous client, the head of their call center came to me with an issue. They had a process where they’d export their call center logs and input them into SQL Server. Except to call it a process was a bit of an overstatement. It was a series of about 4-5 steps, all except the initial export were done manually. This meant that every morning one of their IT people would take a file from a Linux server, copy it locally, and then import it into Access where several macros were run on it to transform it and then the person would import it into the SQL Server where they could then run reports. There were several possible areas for mistakes to happen and while mistakes weren’t routine, they tended to happen about once or twice a month. On a good day, it would take about 1/2 an hour to do the manual import, on a bad day, over an hour. So in a month, one of their IT people could easily spend 15 or more hours on it, or over 180 hours a year.

In addition, adding new meta-data into the process was error-prone and he couldn’t do as often as he liked. He asked if I could take a look at it and automate it. While SSIS is not an area of expertise, I was familiar enough with it to know it was a good fit and said I’d work on a solution. It took some effort, but eventually I had a solution in place. The entire process now runs automatically in about 5 minutes and he can add or remove the meta-data he needs to by updating a single SQL table. He was quite pleased.

I’m also proud to say the only real time there’s been an issue with the process is when they had to for business reasons IP their entire internal network. They unfortunately scheduled this for a week when I was not only on vacation, but spending that week at some National Parks and Forests in the South Dakota area. The remoteness of these locations meant that my connectivity was very limited. I let their IP team know what changes had to be made to a config file to make things work, but in the aftermath of other issues they had to deal with this was missed. Fortunately, once I found the right place to sit in the National Forest we were camped in and get enough of a cell signal to log into their network, I was able to make the update and fix things. Since then, things have worked without a hitch.

I like this particular project, not just because it’s been so problem free, but because I think I can clearly point to a problem a client had and that I helped solve. Now that IT person can spend their time on more important issues.

It also is an example of a mantra I think is generally true:

Anything that can be automated should be automated.

There’s other projects I may write about at other times (including a few involving PowerShell) but that’s it for today.

What projects are YOU proud of? I’d love to hear from you.

Making an Omelet

Yesterday, in an email exchange with a fellow DBA I used the term “they’re trying to make an omelet without breaking any eggs” and this got me thinking.

Several years ago I was working with a client that was moving their development process to an agile process. Or more accurately, that was their goal. They started off fairly well, we had daily stand-up meetings where folks actually stood up and the entire thing was kept short.

But things started to change. Our user stories started to get more complex. The cycle between when we’d receive our story and deploy it grew longer and longer. Pretty soon we were talking about going back to an annual release, and only an annual release.

I started to call this agile-waterfall. It was clear they were simply falling back on their old habits and that their agile goal simply wasn’t going to happen.

More recently, I’ve had another client I’ve been working with to make some security changes to their databases. This is generally a good goal. But, it means some radical changes in a few of their processes. Meanwhile another manager in the company is pushing back on all the many of the changes because some would be disruptive to their current processes and arguably break how certain things are done. And breaking such things would have an immediate financial impact.

Now, I like a good hard-boiled egg. In fact I had one this weekend.

I also like a good omelet. Maybe I’ll make one this coming weekend.

Neither is necessarily better than the other. But you can’t make them the same way. You can’t really make an omelet out of a hard-boiled egg, and you can’t really hard-boil an omelet.

If you really want a omelet, you’re going to have to break a few eggs.

Just make sure you understand up front if you’re breaking an egg or not, because once broken, you’re pretty much committed that omelet.

And sometimes it’s necessary to make that omelet. Change can be necessary and good.