… is a phrase that I’ve been giving thoughts to for the past few days. I’m quoting a phrase that Gever Tulley used in a TED talk he gave about his tinkering school.
In many situations it’s valuable to have the freedom to fail. Especially when the goal is learning.
When learning new things about SQL Server, I couldn’t take in half as much knowledge if I didn’t have a development server called sandbox. The sandbox db sits on my local machine. And like its namesake, it’s a safe place to play. It’s a place where starting from scratch from time to time is normal and expected. I expect that the tempdb fills this role for many of you.
Being Creative (Idea Mash-ups)
Having the freedom to fail is also valuable when you want to be creative. Later on in this post I’ll explain a failure of mine and I’ll go through what went wrong and why it doesn’t matter.
Being creative often entails tweaking an existing idea or taking two separate ideas and putting them together.
Sometimes the Idea Mash-ups Work…
- Deadlock graphs + blocked process reports = this idea
- transactions + db snapshots = this script
- TaunTaun + sleeping bag = fantastic-ness
… and Sometimes They Don’t
Here’s one failed idea I had. A long time ago, I work with a database that had 800 tables in one schema in one database. By comparison, the Adventureworks database has about 70 tables in five schemas. I asked myself. Is there an automatic way to group the tables into candidate schemas while staying agnostic about the business rules? Here was my thinking:
- I can infer table relationships using defined foreign keys, sys.sysdepends and other clues based on the naming conventions we used.
- Tables and their relationships remind me of vertices and edges in graph theory.
- I can rely on theories of dead mathematicians to do my work for me!
… in theory any way. In practice – as I found out – there’s no substitute for digging into the business rules of a domain, sigh. But the process was fun and didn’t take too much time. While I was investigating this idea, I thought this is what creativity feels like.
When I started writing this post, I had a different example of a personal failure in mind:
In my sandbox, I once explored a (seemingly) novel idea and after a while, I decided it sucked. As it turns out, Google tells me that my idea was not so novel after all and was written up in a blog as a good idea by someone I respect. So for that and other reasons, I picked another failure. Lesson: Google seemingly novel ideas before beginning a blog topic about it.
(Image is courtesy of Anthony Cain on Flickr… Check out his photostream!)