2020 in Review

Yes, I’m joining the chorus of so many others who are publishing a lookback on the previous year. This has become a tradition for me. And I of course followed last year’s review with a preview for 2020. I made the obligatory dad joke then and I’ll make one now, that I can’t wait until 20/20 is truly hindsight!

2020 I think upset everyone’s goals, and mine were no different. But I figured I’d start with my goals from last year and then try to end on an actual up-note.

  • I had a goal of blogging at least once a week. I think I missed 1 this year, but a few weeks I blogged more than once, so, including this post, I will have 56 posts this year. Not to shabby. And my overall page count is up. So that’s good.
  • I vowed to write more for Red-Gate and I did. But not as much as I’d like. I do blame this partly on Covid. I lost some of my enthusiasm. But I am working on another article. I was hoping to have it done this week, but lost motivation. I did learn one of my articles there is one of their top read articles. I’m quite proud of that!
  • I did read more this past year, that’s for sure.
  • One goal I had was to keep speaking at more SQL Saturdays. Well, that didn’t quite go as planned. I did speak at the Albany event, but that was about it. This one I 100% blame on Covid. On the other hand, I finally attended the Portland Oregon SQL Saturday, albeit virtually.
  • Speak at SQL Summit: well I did achieve this one, sort of. It was virtual, but I was selected and that was a HUGE highlight. And in fact I ended up being part of two presentations, the 2nd a live one that I ended up doing from my car while waiting for something else. And my presentation on PowerShell for Beginners apparently was very popular. So, I can at least say I went out on a high note.
  • On one hand, we postponed our NCRC Weeklong Cave Rescue Seminar here in NY to 2021. On the other hand, I was able to work out a Modular Level 1 Seminar here in September, the first of its kind in my region ever. And we did it safely and effectively.
  • Started to use git on a far more regular basis, including from the command line (previously I had limited myself to the GUI in Visual Studio).
  • I did read more! – including:
    • The Power Broker, I biography of Robert Moses
    • Station Eleven, though in retrospect, reading a book about the world after a global pandemic was NOT a great way to start the year!

So, overall, I did accomplish a number of my goal. I had some generic ones that included caving more, biking more, and hiking more. More on those in a moment.

Overall, the year was a bummer in many ways. I really missed travelling. I really missed seeing friends and family (I think we saw my mom in person twice during the entire year). I missed my seeing my #SQLFamily in person. I missed my NCRC Family. I missed having our normal annual pool party.

I missed, normalcy.

But…

You know what, for me personally, 2020 was actually a year of some ups. I’ve been very fortunate and I was able to do things I had not done as much as in the past.

  • For one I accomplished my first overnight hike in perhaps over a decade, a nice 18 miles on the Appalachian Trail. Due to scheduling I couldn’t quite get in a 2nd hike that would have completed a gap in Massachusetts, but perhaps next year. I did find I needed some new equipment, which I purchased in anticipation for next year.
  • As for biking, I definitely did a LOT more this year. I biked over 1300 miles this year (I can’t recall the last time, if ever, I did as much) including my first century ride (100 miles in one day) since my senior year of high school. I’m really proud of that one. Who knows, maybe I’ll do another in 2021.
  • Despite a contentious election season, America voted the Orange One out.
  • Spent more time with my family! We did several walks around the area including some paths we had not explored in the 20+ years my wife and I have lived in the house.
  • I fixed the dryer that had been making a horrible rumbling sound for years.
  • I made a bunch of sourdough bread, pancakes, waffles and even a pizza crust or two. And I’m back to making sourdough again.
  • I finished binge-watching Haven, a quirky fun show based on a Stephen King story.
  • I rewatched (and for my family, they watched for the first time) the entire Prisoner series. Yes, everyone still wonders what the hell the final episode is still about.
  • We’re binge-watching Schitt$ Creek and wondering why we didn’t watch it sooner.

All in all, it was a very mixed year. It wasn’t a normal year in many ways and some of the normalcy, I really missed. But, on the flip side, I think it encouraged and in some cases forced me out of my comfort zone and to do things I might not have had time to do otherwise.

I can’t say it was a great year. While I’ve been fortunate and have not had anyone close to me succumb to Covid, I know too many people who have had friends and family die of it. So in that aspect, it’s been a terrible year. As of the latest count, over 342,000 have died in the US and yesterday set a new record in the US for daily deaths. At this rate, by the start of next week we’ll have over 350,000 deaths and predictions are of over another 80,000 in the next three weeks. PASS has been a side casualty of this too.

Too many lives have been impacted and effected and I don’t want to minimalize those.

But, I do want to highlight that even in a dark year, at least personally, I’ve been able to find some positive things to focus on. I hope others have too. Hopefully everyone reading this has at least one thing they can look back on and say, “Yeah, that was good” or “That’s a special memory, I won’t forget.”

And to quote Colonel Potter from MASH: “Here’s to the New Year. May she be a damn sight better than the old one, and may we all be home before she’s over.”

“Monday Monday”

I wrote once before about a day being a “Monday” and a week later about it not being a “Monday”. Well, yesterday was another Monday. And it reminded me of the value of DR planning and how scaling to your actual needs and budget are important.

There’s an old saying a Cobbler’s Children has no shoes and there’s some truth to that. And, well my kids have shoes, but yesterday reminded me I still want to improve my home DR strategy.

I had actually planned on sleeping in late since it’s the week between Christmas and New Years and my largest client is basically doing nothing and everyone else in the house is sleeping in this week. But that said, old habits die hard and after one of the cats woke me up to get fed, I decided to check my email. That’s when I noticed some of the tabs open in Chrome were dead. I’m not sure what I looked at next, but it caused me to ping my home server: nothing.

While that’s very unusual, it wouldn’t be the first time it did a BSOD. I figured I’d go to the basement, reboot, grab the paper, some breakfast and be all set. Well, I was partly right. Sure enough when I looked at the screen there was an error on it, but not a BSOD, but a black and white text screen with a bunch of characters and a line with an error on it. I rebooted, waited for the Server 2012 logo and then went out to get the newspaper. I came back, it was still booting, but I decided to wait for it to complete. Instead, it threw another BSOD (a real BSOD this time). I did a reboot and seconds later up came a BIOS message “PARITY ERROR”.

I figured it must be a bad RAM chip and while 16 GB wouldn’t be great, I could live with that if I had to cut down. But, things only got worse. Now the server wouldn’t even boot. I don’t mean as in I kept getting parity errors or a BSOD but as in, nothing would happen, no BIOS, nothing. Best as I can tell my server had succumbed to a known issue with the motherboard.

The technical term for this is “I was hosed”. But, in true DR spirit, I had backup plans and other ideas. The biggest issue is, I had always assumed my issue would be drive failure, hence backups, RAID, etc. I did not expect a full motherboard failure.

On one hand, this is almost the best time of the year for such an event. Work is slow, I could work around this, it wouldn’t normally be a big issue. However, there were some confounding issues. For one, my daughter is in the midst of applying to colleges and needs to submit portfolio items. These are of course saved on the server. Normally I’d move the server data drive to another machine and say “just go here” but she’s already stressed enough, I didn’t want to add another concern. And then much to my surprise, when I called ASRock customer service, they’re apparently closed until January! Yes, they apparently have no one available for a week. So much for arguing for an RMA. And finally of course, even if I could do an RMA, with the current situation with shipping packages, who knew when I would get it.

So, backup Plan A was to dig out an old desktop I had in house and move the drives over. This actually worked out pretty well except for one issue. The old desktop only has 2 GB of RAM in it! My server will boot, but my VMs aren’t available. Fortunately for this week that’s not an issue.

And Plan B was to find a cheap desktop at Best Buy, have my wife pick it up and when she got home, move the server disks to that and have a reasonably powered machine as a temporary server. That plan was great, but, for various reasons I haven’t overcome yet, the new machine won’t boot from the server drive (it acts like it doesn’t even see it.) So, for now I’m stuck with Plan A for now.

I’ve since moved on to Plan C and ordered a new Mobo (ironically another ASRock, because despite this issue, it’s been rock solid for 4+ years) and expect to get it by the 5th. If all goes well I’ll be up and running with a real server by then, just in time for the New Year.

Now, Plan D is still get ASRock to warranty the old one (some people have successfully argued for this because it appears to be a known defect). If that works, then I’ll order another case, more RAM and another OS license and end up with a backup server.

Should I have had a backup server all along? Probably. If nothing else, having a backup domain controller really is a best practice. But the reality is, this type of failure is VERY rare, and the intersection of circumstances that really requires me to have one is more rare. So I don’t feel too bad about not having a fully functional backup server until now. At the most, I lost a few hours of sleep yesterday. I didn’t lose any client time, business or real money. So, the tradeoff was arguably worth it.

The truth is, a DR plan needs to scale with your needs and budget. If downtime simply costs you a few hours of your time coming up with a workaround (like mine did), then perhaps sticking with the work around if you can’t afford more is acceptable. Later you can upgrade as you needs require it and your budget allows for it. For example, I don’t run a production 24×7 SQL Server, so I’m not worried about clustering, even after I obtain my backup server.

If you can work in a degraded fashion for some time and can’t afford a top-notch DR solution, that might be enough. But consider that closely before going down that route.

On the other hand, if like my largest client downtime can cost you thousands or even millions of dollars, than you had darn well invest in a robust DR solution. I recently worked with them on testing the DR plan for one of their critical systems. As I mentioned, it probably cost them tens of thousands of dollars just for the test itself. But, they now have a VERY high confidence that if something happened, their downtime is under 4 hours and they would lose very little data. And for the volume of business, it’s worth it. For mine, a few hours of downtime and a few days of degraded availability is ok and cost effective. But, given I have a bit of extra money, I figure it’s now worth mitigating even that.

In closing because this IS the Internet… a couple of cat pictures.

The friendlier one
The shyer but smarter one

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.