Wow, where does the time go? Hope I see every reader there in Louisville this weekend for a lovely time. Say you live in Alaska and it would be too far to go in one day? Hey, we all have our problems (and don't tell anyone, but I am going to try to finish up video versions of these sessions by the end of the year.. shh.)
I will be doing my session on Database Design Fundamentals and How to Write a DML Trigger, both sessions I have done quite often of late, and I really like how they work now. I have a bit of a reputation as a slide/code tinkerer and this time is no different, but the biggest thing I have settled on is how I deal with presentation like these, where honestly the subject is more than a 1 hour session can handle. Homework.
I will cover the fundamentals of whatever topic in slides, and then demo as much code as I have time, but the rest is homework. I got the idea when I was prepping to speak to the Richmond User Group, as I was flip flopping between showing some slides and showing code. I realized that the slides would explain the fundamentals better than slogging through the internals of the code directly, and that when I attend sessions with a lot of code, all I am sitting there thinking is "man, I want that code". So I try to comment the code to make it self explanatory, run the code before each presentation, enhance it as I have time to, show you enough of the code to get you started, and then give it to you to play with (and if you want to pick it apart, email me at email@example.com, I LOVE constructive criticism.
I post all of my slides and code on my website (http://drsql.org) not just because it is part of a presentation, or to make myself feel cool, but mostly so I can reference it as I need it. I use my code snippets all of the time when coding, and I try to keep them up to the version I am using (or writing about as it were.) So hopefully, I see you and get to explain the fundamentals, then the (rather wordy at times) slides are there for reference, and the code is there to get you started practicing on your own. Homework.
The abstracts for this weekend's presentations:
Database Design Fundamentals
In this session I will give an overview of how to design a database, including the common normal forms and why they should matter to you if you are creating or modifying SQL Server databases. Data should be easy to work with in SQL Server if the database has been organized as close as possible to the standards of normalization that have been proven for many years. Many common T-SQL programming "difficulties" are the result of struggling against the way data should be structured and can be avoided by applying the basic normalization techniques and are obvious things that you find yourself struggling with time and again (i.e. using the SUBSTRING function in a WHERE clause meaning you can't use an index efficiently).
How to Write a DML Trigger
Triggers are extremely powerful and useful (if somewhat rarely needed) objects that are coded very similar to a common stored procedure. Yet for their similarity, there are some very important differences that need to be understood. In this session, I will walk through what goes into writing a robust DML trigger, starting with a simple version of a trigger, and working through some very useful applications of DML Triggers..
Thursday night, at 6:00 (or so) I will be speaking in Richmond (http://richmondsql.org/cs2007/ ), talking about How to Implement a Hierarchy using SQL Server. The abstract is:
One of the most common structures you will come across in the real world is a hierarchy (either a single parent "tree" or a multi-parent "graph"). Many systems will implement the obvious examples, such as a corporate managerial structure or a bill of materials. It turns out that almost any many-to-many relationship can be used as a hierarchy to find the relationship of parent rows to child rows (for example, the relationship of actors to movies they’ve been in). In this session, we’ll discuss several different implementations of hierarchies that you can use to optimize your hierarchy implementations and put into practice immediately, with ready-made T-SQL examples.
Hierarchies are one of my favorite "fun" topics, as they are interesting for a few reasons. First, they have very common usages that most people come across, and second, they make for fairly interesting example code and performance testing. In my slides (and downloads), I will have examples where I generate several trees, including 3400, 41000, 52000, and even a 1.2 million node tree (which, using my slightly slow generator, took like 16 hours on my i7 laptop) along with 5 rows of sales data for every root node of the tree. It is kind of interesting to me to see how well the different tree implementations behave using each sized tree. I may even get a chance this week to toss the tree structures into in-memory tables and check their performance (but if not, it certainly will be included in what I am going to announce in the next paragraph.)
The only downside is that (not unlike most of my presentations) I have way too much material for 1 hour (or even 2). So I will be working in the upcoming future (hopefully by Devlink) to put out my directors cut video of this and several other presentations I have that are just too unwieldy for a non-precon sized session. I will officially announce this effort soon (along with a realistic schedule!), but it has been met with many life issues. I had a few weeks set aside for this task, but the weekend I sat down to record videos, I got sick and have had to push things back.
However, all of the code will be available for download, and my email address is no secret (drsql@Hotmail.com) and I am always happy (if sometimes slow) to answer questions, take criticisms, or paypal payments at that address, so feel free to do either with the code when it is posted at http://www.drsql.org/Pages/Presentations.aspx
This part is part of an ongoing series of blogs I am writing while preparing to give a presentation based on the prefix of this blog's title. It is a work in progress as I explore the effects of the new in-memory model. I would love comments that tell me that I am wrong (especially if it turns out that I am!)
After a rather long break in the action to get through some heavy tech editing work (paid work before blogging, I always say!) it is time to start working on this presentation about In-Memory Databases. I have been trying to decide on the scope of the demo code in the back of my head, and I have added more and taken away bits and pieces over time trying to find the balance of "enough" complexity to show data integrity issues and joins, but not so much that we get lost in the process of trying to actually get rows generated for display.
To that end, I came up with the following basic model:
We will define customers, define a simple US address with a domain set only for US States (my client here can only sell to the US in any case. We will define Products, and over time, the price can change. I had at one time considered including discounts and offer codes, but it all started to seem to get way far away from what was necessary to complete the task at hand. Start with a set of tables using on-disk structures pre-loaded with a few thousand rows of data, then a several more thousand transactions, and look at the performance. Then morph the design through a few cycles (both with and without RI, with and without stored procedures. In the end, the hot spot of my design will be two-fold:
1. Looking up and creating new customers (will I duplicate orders from the same customer? Probably, I figure I may use AdventureWorks data for the loading, though I am not 100% sure.).
2. Creating new orders
The rest of the process would just be tedious and harder to visualize for the attendees (and I will have 1:15 at Devlink, and 1 hour if any of the two SQL Saturday's pick up the session, and that isn't much time.)
If you think this is (or isn't) adequate, I am interested to hear from you.
The next blog will be the Logical Model, where I will start to fill out the design. I will use these diagrams in the session to demonstrate the design, and it is the process I do anytime I am given a database to design (other than the fact that I get to adjust the requirements to meet the amount of work I want to do!)
One of my favorite locations to speak or attend is when Richmond has a SQL Saturday. (though if you are an organizer of another SQL Saturday's I have submitted to, note that I said "one of my favorites" :)). This will be the third time I go to Richmond. I like it for several reasons:
- The people - I have coworkers coming up from Virginia Beach to attend, and from Maryland, and our leader lives in Richmond; I have a cowriter who is also speaking (Jessica Moss), and other good friends who are amongst the speakers and organizers
- The location - Richmond is a cool city to visit (even if it is just for a day,) and we are having a team gathering after the event
- The trip - I am driving in from Nashville, starting out tomorrow night, taking the slow road with time to stop and smell the roses. On the way back I am taking a vacation day and stopping by Dollywood, so that is awesome..
Of course, none of this fits into the "why should *you* care that I will be there" category. I will be speaking on Triggers, a subject that I equally love and loathe. Love because they are awesomely powerful tools to help manage data integrity. I loathe them because they are so misused by many people. That was why I initially put together this abstract.
How to Write a DML Trigger
Triggers are extremely powerful and useful (if somewhat rarely needed) objects that are coded very similar to a common stored procedure. Yet for their similarity, there are some very important differences that need to be understood. In this session, I will walk through what goes into writing a robust DML trigger, starting with a simple version of a trigger, and working through some very useful applications of DML Triggers..
It is set at the intermediate level so I have done some editing of the introductory material, and will focus more on several sets of examples with plenty of code to download when you head back home and need to write your own trigger.
Will I see you there?
Weird, somehow I lost text in the middle of this post after it was posted... I created it a few days back and set it to post later... Corrected.
So I put in the following abstract for Devlink (and may for SQL Saturday Orlando and/or PASS Summit.) I don't know if I will get accepted, but I am pretty excited to work on this topic one way or another...
"With SQL Server 2014, Microsoft has added a major new feature to help optimize OLTP database implementations by persisting your data primarily in RAM. Of course it isn't that simple, internally everything that uses this new feature is completely new. While the internals of this feature may be foreign to you, accessing the data that uses the structures very much resembles T-SQL as you already know it. As such, the first important question for the average developer will be how to adapt an existing application to make use of the technology to achieve enhanced performance. In this session, I will start with a normalized database, and adapt the logical and physical database model/implementation in several manners, performance testing the tables and code changes along the way. "
My plan is to start with a moderately straightforward table design, and implement a set of scripts that create a bunch of data. Starting out with normal on-disk tables using both ad-hoc calls and stored procedures, I will morph the design from just changing some of the tables to in-memory, then change the procedures to use in-memory wherever possible and test any changes we need to make to the physical structures. Another aspect to the process will be errant data. Part of the experiment will be to have a smattering of bad data to simulate real live programmers and users doing real live stuff.
I think I know the main content already, but I expect to pick up a lot of knowledge between now and then (which I will attribute, naturally!) I have at least 5 months, before I would need to present it, so who knows if I will change my mind. Along the way, I will blog semi-frequently about the progress, including what I have learned, code samples, philosophies, etc.
Today is my least favorite part of the whole speaking thing. It is the day that I put myself out there and wait to see if I get rejected or accepted. Rejection stinks, but at the same time, being accepted means more work. Neither are perfect, and as I stated in my last post, I also have a goal of not getting myself stuck spending 7 hours a day doing work outside of my day job.
I plan to put in abstracts to most of the conferences I expect to attend this year. And when I say attend, I mean I plan to attend pretty much regardless of whether my submissions are accepted. I have just as much desire to learn as I have to teach, and accumulating knowledge for my ongoing writing efforts can be just as valuable as speaking. (The only downside being that when you don't speak, you don't get to go the speaker dinner, which can be a lot of fun, particularly at a SQL Saturday event).
My goals for this year is to get myself stuck writing a lot of new sessions. I do have a few sessions that are "done" that I would just have to update a bit that I may submit:
Fundamentals of Relational Database Design - Just what it sound like really. Normalization, documentation, etc.
DML Triggers - The basics of writing triggers with examples. I am doing this session in Richmond in 3 weeks at SQL Saturday.
Hierarchies - A deep session that covers the different ways a hierarchy can be implemented in SQL without favoring one method over the other in a manner other than empirically. I plan to base a book on the subject later this year.
Sequences - All about the sequence and its performance characteristics. Not a big hit in the past since 2012 adoption hadn't quite got there when I did it first, perhaps it has come time.
Finally, I do have a new session that I am going to put in and start writing in my spare time.
How In-Memory Database Objects Affect Database Design - In this session, I will be demonstrating a normalized database design using disk based tables, and then adjusting the design to make best use of in memory objects. To demonstrate, I will use test data that will simulate multiple connections of orders being taken.
In the biggest change of my writing /speaking career, I plan to start writing this presentation way before it is accepted. I will be starting on this presentation immediately in my free time, blogging about it as I go. I also have a lot to learn about in memory database structures, so this should reinforce the learning I am and will be doing (more about all of this when I write my introductory blog about it). Even if it never gets presented, I will certainly be using the material when I put together my next database design book, whenever that turns out to be.
Unless someone just really wants me to (and I don't know the meaning of the word "no"), I doubt I put in a pre-con session this year. It is a lot of work and makes PASS a crazy time of year. Realistically, I may just attend a pre-con if one strikes my fancy. I am in the middle of building a T-SQL from the ground up pre-con (or larger) class that I am doing for my company (with rights to share secured in the process).
Other than Atlanta, which has a deadline of Tuesday (March 3) for submission, I have a bit of time to change my mind and add/subtract an abstract, but I think that I am going to stick with:
SQL Saturday Atlanta - May 3 - Hierarchies, Triggers, Database Design
SQL Saturday Louisville - Jun 21 - Hierarchies, Triggers, Database Design
Devlink - Aug 27 - In Memory DB, Hierarchies
SQL PASS Summit - Nov 4 - In Memory DB, Hierarchies, Triggers, Database Design , Sequences
Now nothing to do but sick back and wait... And prepare the In-Mem session.. And hey, if none are chosen, it will give me something else to blog about!
Well, it has been over a year since my last insanely optimistic blog about the next year, but this year it is going to be (actually) different (not like the last time I said it would be different)
Usually, like pretty much everyone on earth, I overestimate just how much I can get done in the following twelve months by some impressive amount. Writing, speaking, blogging, exercising, etc etc. Not this year. I am specifically going the other direction, saying I am doing less. Specifically more writing and less of everything else, particularly things with oppressive deadlines that preclude personal activities like exercising, eating right, going to Disney World, seeing the kid and her kids, and perhaps most importantly, sleeping!
(Ironically it is 12:35 am as I write this. Yeah, I will start tomorrow…ish)
I am not giving up speaking entirely, as I do love the challenge and teaching people. As such, I do expect to put in sessions for Devlink, Atlanta, Richmond, Louisville, for sure, plus probably PASS. But my goal is to not do what I did last year, which was to put in a bunch of new sessions that get chosen which I then have to write (the fun part), and then practice to death until I am ready to present in front of 5-100 people (the not fun part) and then travel to the conference and speak (the less fun than writing but more fun than sitting at home wishing I was at the conference part.) Of course, I may just pop down to a conference or two and just attend and learn. That might be fun too.
The biggest thing I plan to write more steadily again. This blog should see more life, and I try to maintain a healthy stream of articles on my What Counts for a DBA Simple-Talk blog. The What Counts blog is fun because I have to really stretch myself to fill in a topic in a way that is both interesting and informative. Sometimes it works great, and sometimes the editor smacks me in the mouth and makes me start again. In contrast, this blog is great because I do what I want with no editor but myself, though I am annoying to write for at times. With an editor, I can trust someone has looked over the blog that isn't making a bunch of in jokes to himself.
Along the lines of writing, another challenge I love is technical editing. A great way to sharpen your knowledge of a subject is to tech edit a book/article/presentation. It is very much like writing a book, without the need for so much creativity. Just like when you write you have to fill in the blanks that you don't know/haven't done before, you have to do the same in tech editing. Everything you don't know, you need to look up and validate with other authorities, leading you to learn more and more. And even when you do know everything in the material, for those hours you spend, you take on a role that is incredibly important to the author. Make sure that the material is correct, and help fill in the blanks. I know I have learned a lot from my tech editors over the year, because some pre-conceived notions you have are possibly wrong.
Writing is what I really like to do, because it can be done at my pace. I have 20+ ideas in my OneNote list just to the right of where I am writing, and I just have to fill in the blanks (notably the area between the title and the end of the blog, but that is just work. I have another 50 ideas for the What Counts blog, and possibly a book idea that I will be working on this year.
I am definitely getting ready to wind back up the Why We Write series, something I paused around PASS time last year before I had family and health stuff going on that precluded me keeping on. I got 9 entries in last year, (plus one where I interviewed myself), and I would like to get more this year.
Lastly, I do intend to get back to my roots in the SQL Server Forums, something I keep promising I will do and keep getting drug away from.. I really miss the interactive nature of the process of solving immediate problems. Yet, the biggest issue there is that my interest lies in problem prevention by proper design, and it is very hard to do. Even in my day job, too often the situation dictates that things are done subpar for time constraints, or code constraints, or tool constraints (ironically, often this leads to a lack of constraints and a surplus of data issues :))
Ok, it has been quite a while since the event, two weeks and a day to be exact, but I needed a rest before hitting Windows Live Writer again. Speaking is exhausting, traveling is exhausting, and well, I replaced my laptop and had to get all of my software back together. (Between Windows 8.1 sync features, Dropbox and Skydrive, it has never been easier…but I digress.)
There are plenty of great vendors out there, but one of my favorites has always been Red-Gate. I have written half of a book with them, have a blog series on What Counts for a DBA, and have convinced at least one company to purchase their tool belt product for all of the developers/dbas (the company I work for!). I have also spoken on their behalf a few times, this time being the most fun.
If you didn’t get a chance to attend any of their events yet (full list here), it is a highly recommended experience. It is very much like a SQL Saturday, except perhaps that Red-Gate has a better budget than most, so the venue and food are at least a wee bit better. At a minimum you generally get two of my favorite speakers: Steve Jones and Grant Fritchey, plus lots of the Red Gate team looking to get and give feedback about their tools. They had two concurrent sessions, and for the most part, about half of the sessions were at least somewhat Red Gate tools specific. I was personally interested in the Red Gate sessions, so I missed the sessions by Nigel Sammy, Kevin Boles, Mickey Steuwe, and Kevin Hazzard.
Of course, the one non-Red Gate centric session I attended was the one I gave. I was a headline speaker for the conference, which was very gratifying I must admit. I try to seem very humble, but really I have a raging ego that must be served. But seriously, it was very much an honor to have my name just under Steve and Grant who are extremely good, very natural speakers. Lucky for me, they picked from the list of abstracts I submitted, my favorite session: Fundamentals of Relational Database Design (slides available here). The combination of this being a free event, not being recorded, a wonderful energetic audience who were into giving feedback (like the fact that the user it what matters in designing a database!), and a delightful lunch, I had a very nice session indeed. (It was quite well rated even, so for once I felt good and everyone seemed to like it simultaneously.) I learned later that it was being recorded, so if you want to see it again, or for the first time, I will tweet the address once I get it.
All in all, I just have to say that it was a great time, and next year I hope to at least attend their events if I don’t’ get a chance to speak again.
Now I just need to get to blogging a wrap up of the PASS Conference!
Update! 10 more books added to the cadre from my friends at Red-Gate.
With less than a week to go, I am starting to pack up for Charlotte and PASS 2013. I love that it is in Charlotte this year so I can drive and bring along some goodies to give away. Books and toys mostly, a variety of which were chosen rather specifically for some manner of symbolism with a tie in to database design for the most part. (Okay, symbolism is perhaps a bit of a stretch, but I have tied everything, even the goofy stuff, to the meaning of the class!)
1. 5 printed, and 3 ebook copies of my Pro 2012 Relational Database Design and Implementation. Well, obviously the symbolism here is that I hope the rest of the class each buys 5 copies and gives away to their coworkers so my royalties will buy me more than a model airplane.
2. Lego Architecture Leaning Tower of Pisa – Last year I gave away the Farnsworth (glass) House because we database folks can’t throw stones because we aren’t perfect either. (Luckily, none of us actually live in glass houses either!). The Leaning Tower of Pisa reminds me that not every masterpiece is perfect. And well, you really need to start with a good foundation!
3. Lego DeLorean Time Machine – Because, if you had a time machine, up front database design wouldn’t be that necessary. Just go back and fix the database from the start without rework. Of course we don’t have time machines so, the more right you get it done the first time the better. (And it is a really cool set!)
4. Lego Space Needle – For anyone pining for Seattle, they can get this and put it in their hotel room and pretend it is next year.
5. 5 copies of the book: The Imagineering Workout – A book by some Disney Imagineers, about how to stretch and use your imagination. Imagination is very important when you are designing a database (or any code). If you compare the vision of engineers of early computers (no one will want one of these in our house) to science fiction writers (wrist radio, eh Dick Tracy), who is more right. Neither were particularly right, but look at those companies that flourish, they have a great mix of technology, customer service, and imagination on their side.
As architects, being able to envision the final product in action is of great help. Being able to code and execute code mentally means you don’t have to write a lot of code to test out every idea you have. Not that your mental query processor is going to find all architecture errors ahead of time, but the more it does eliminate the better.
6. 1 copy of MVP Deep Dives 1 – A great book by a lot of great authors. I had an extra copy in my swag stash, so it is coming along too. There is a chapter or two on database design in there penned by myself and Paul Nielsen, so it fits!
7. Lego Star Wars X-Wing Fighter – Well, no deep symbolism here, and I don’t mention Star Wars in the slides, but Star Wars is cool and a job (or class) in technology ought to be fun. (And don’t start a debate about prequels in the comments. The prequels were not as great as the original trilogy, but I still like them and the Clone Wars series! A bad day in the the Star Wars universe is better than a day at work in any case.)
8. 2 Lego Brickleys – I use pictures of Brickley Lego dragons to illustrate the magnitude of design and requirements needed early in the session. Brickley is a great example to me because he comes in three sizes. This tiny size, an order of magnitude greater size (in number of pieces), and the “life” sized version at Downtown Disney in Orlando. The process to design and then explain to someone else how to build these is very similar, but the time and documentation investment is very very different.
9. A Lego set of a Demolition man blowing something up – Sometimes, you just have to blow things up and start afresh. Many databases out there make Frankenstien’s monster seem like a very natural creature, with bits and pieces bolted on to something that ought to have been dead for years.
10. 4 small Lego “Swamp Creature” sets – This set is really in there for two reasons. 1 because this is October and 2, to make a simply awful joke that (if you get this set and put it on your desk) should remind you what the job of the data architect really is using a bit of rhyme association.
11. A copy of Performance Tuning with SQL Server Dynamic Management Views, my book with Tim Ford for Red-Gate, because while in 7 and a half hours (less lunch and breaks), we just won’t have time to spend a lot of time on the physical side of things.
12. A copy of The Manga Guide to Databases. A fun book with some “interesting” art, but with a lot of decent explanations of database design principles. In some manners, it is very comparable to what I want to do, to strip away the complexities of theory and leave only the practical application. Of course, it is a lot lower level and feels like it was written for a 12 year old, but it was kind of fun too.
13. 5 copies of SQL Server Transaction Log Management – I have read 1/2 of this book by Gail Shaw and Tony Davis, and it is excellent. I learned quite a few things about the transaction log that I didn’t know (nor had every really thought about :)
14. 5 copies of SQL Server Concurrency – A book by one of my SQL heroes, Kalen Delaney. Wish she was going to be here at the Summit this year.
So while it does in fact look like just a bunch of toys and books (for good reason, actually, since that what it is), all of the items were chosen for reasons beyond just that they were cool or fun, to help the person who ends up taking them home will flash back to the class when they got them. Am I spoiling the fun by sharing the list before the session? Maybe, but it will help me to determine how many people read the blog about such things, and well, it will keep me from changing my mind on #3 and #7 (both sets I haven’t bought myself yet and really do quite want.)
So I hope to see you next Tuesday, and perhaps you get something cool to ship home because your luggage is already too full as it is!
Next Monday, October 14, at Red-Gate's SQL In The City conference in Charlotte, NC (one day before PASS), I will be presenting my Fundamentals of Database Design session. It is my big-time chestnut session, the one that I do the most and have the most fun with. This will be the "single" version of the session, weighing in at just under an hour, and it is a lot of material to go over (even with no code samples to go awry to take up time.)
In this hour long session (presented in widescreen format for the very first time!), I cover the process of database design, from gathering requirements, assembling a model, and finally checking to make sure that model does the best job meeting the standards that Codd and friends have been refining for the past 30 years, plus some discussion about testing and implementation. You can find out more about me and other speakers here on the SQL In the City site.
(Note: The following day (Oct 15) I will be doing the LP version of this session at the PASS conference, also in Charlotte, blog about it here, with the big difference being that we will do some design and I will only have to talk while breathing out.)
I have no idea what to expect as this is my first SQL in the City, but I love Red Gate tools, and everyone I have met from RedGate have always been fun people to hang around with. If you haven't signed up for one of the Monday precons for PASS (my fellow pre-con writers worked hard on their sessions :)), please register and come over to the Ritz Carlton (the one where the conference is being held of course) and get your learn on!
On barely related note, the name SQL In The City always reminds me of the Pete Townshend's song "Street in the City".
"I watch as Fleet Street makes new heroes rise and fall.
The news is written in the eyes of us all.
One is a sinner. One is a saint, but most of us worry about showing up late.
Street in the city. Street in the city on a working day."
Somehow, I doubt this was heavy in the mind of the people choosing a name, but I march to the beat of a drum that is decidedly different than even many of my nerdy SQL friends (which would make a great Saturday morning cartoon show, though I digress in my digression.)
For my next interview, I am going to a person whom I do not know all that well, but have seen his name many times. Laerte Junior Poltronieri (@LaerteSQLDBA) is a very active tweeter, with over forty four thousand tweets to his name. His blog: http://shellyourexperience.com/, focuses heavily on one of my least favorite SQL Server topics, PowerShell and it is in Portuguese. If, like me, you don't speak Portuguese, you can use Bing Translator here to check out his blog.
Laerte has quite a few articles on SimpleTalk, and is a contributor to the SQL Server PowerShell Extensions, a project you can find here on Codeplex, which (without knowing anything about PowerShell myself,) looks quite interesting. He is also a Senior Powershell Expert Consultant for a very cool organization Confio. Oh yeah, and he is also a SQLPASS Regional Mentor. Quite a writing resume...
1. There was a point in time when you didn't have a blog, didn't tweet, and had no public presence whatsoever. And then, one day, you made the decision to put yourself out there. What prompted you to get started writing, and what was the first public work you produced?
I always enjoyed reading technical articles and SQL Server was a passion at first time, in version 6.5. My First book was internals 7.0 ( from Kalen Delaney) and then from 2000 (also from Kalen). When the internet became a reality and blogs began to appear, I read a lot about SQL Server. I can say I grew up in SQL Server reading Buck Woody, Kalen Delaney, Kevin Kline, Bob Beauchemin, Steve Jones, Grant Fritchey, Allen White, Thomas La Rock, Robert Davis, Christian Bolton, Simon Sabin, Ron Dameron (the first article about PowerShell that I read), Chad Miller and many other Jedi that exist in our community. But for you to write about something, in my opinion, you have at least a good knowledge of the subject and like it. That's when I started thinking about creating a blog for SQL Server. At the same time started seeing PowerShell (had watched the Buck Woody Session here at TechEd Brazil) and I spent a lot time to learn it. But what’s the point if you learn but you not share ? That is the feeling. What I feel sharing sometimes is even bigger than when I learn it. What could I have learned without the content that I read by the names that I told before ? So I can say that all theses amazing people from our community (actually they started the idea of the community) inspire me to make what they did with me. Gave the opportunity to learn. Then I started to blog about PowerShell.
2. We all have influencers that affect our trajectory as a writer. It may be a teacher who told you that you had great potential, or another writer who impressed you that you wanted to be like? Or perhaps on the other end of the spectrum it was a teacher who told you that you were too stupid to write well enough to spell your own name, much less have people one day impressed with your writing? Who were your influences that stand out as essential parts of your journey to the level of writer you have become?
All these names that I told before, but there is one guy that really impressed me. I was starting with PowerShell and just had read the article from Ron Dameron about PowerShell. Then I wrote my script but nothing was working. For several days I was trying and failing. I was almost giving up when I read the blog from Shay Levy (PowerShell Master Jedi) and sent and email to him. For my surprise, a couple of minutes later he replied. We exchange some emails and he was trying to help me but was not working. I know that it was 2 or 3 AM in his time and the he asked to me if he could go remotely in my machine to check. He did and solve it and taught me. C’mon..a guy that I had never seen in my life, at 3 AM spent his time teach a guy that he had never seen you his life (LOL) and solve the problem and teaching. It impressed me a LOT, and I always remember that e be grateful to Shay for that. He was one of my influencers too, not only by the technical content, but his good will to teach and share
3. What would you say has been your greatest success story as a writer, even if it was not a commercial success? And conversely, have there been any projects that were just complete disasters that you probably could have looked back and realized that before you got started?
Hahaha. There is a disaster before all started. Today he is a great friend and at the time was very careful with his words (He is a gentleman) and , to be honest, he was right. I try to send an script to SQL Server Central and Steve Jones replied my email saying that my content was good, but my English was not (LOL) and at the time he could not review for me. I could got this as bad, but hahah., I got much more happy that I was talking with Steve Jones rather than what he told me and I thought “I will improve my English as better I can and I will send again”. After some time I got my first Script published at SQL Server Central. I still remember my feeling when it happened because it is the same feeling that I still have today when I see my name at SQL Server Central and Simple-Talk.
I had luck in my writer career. Simple-Talk and SQL Server Central always was my source for study and when I read Buck, Steve, Kevin, Grant I thought. “I have some good content to share. I know that and I want to be where my gurus are. I want to know them and share with them” . Then I send and email to Simple-Talk and for my happiness , Andrew replied me that I could write for them. Oh Boy. It was AMAZING !!!! I have a deeply respect and gratitude to Steve, Andrew, Chris and all people from Simple-Talk/Redgate to gave me that opportunity. Everything in my life started with them
4. I saw from your SQLBits biography, you are a huge Star Wars Fan (me too.) Does Star Wars or any pop culture affect your writing? I know I frequently want to infuse Monty Pythone-sque tidbits into my writing (even if the occasional editor strips it out as non-essential.
Yes.. I am a HUGE Star Wars Fan. I still remember when I was in the movie theater and “Luke..I am your father” and everybody “WOWWWWWWWWWWWWWWWWWW !!!!!!”. it is amazing story and I just love it. Of course affect my writing. Not only Star Wars. I am a Marvel/DC fan, I love Batman, Superman, Spawn, Ghost Rider…and in the certain way it affects all my life, not only my writing. If any Star Wars will be shown in the TV , do not ask me for go out hehehe.
5. And now for something completely different…Assume a time machine has been created, and you are allowed to go back in time to speak to a group of potential writers, in which you and I are in attendance. What would be the most important point you want to make sure that we hear and follow up on?
Two words . Share and courage. You don’t need to know how to link , talking about SQL Server, SQL Server with Aliens and talk about internals in binary to write about it. You just need to have the passion to share and the courage to do it. Does not matter if it is internals ultra super content or basic. Just to have the courage to share, you have my respect.
6. Finally, beyond the "how" questions, now the big one that defines the interview series. Why do you do write?
First because I like it, second because I like it, third because I like it hehehehe. I guess the most important is because with writing I could know my gurus and be part of something big and that really matters. The SQL Server/PowerShell community. Today when people like Bob, Argenis, Steve Jones, Grant, Kevin Kline, Allen, Edwin, Mladen, Bolton, Thomas La Rock, Neil, Simon, Buck, Kalen and so many other well known names see me, they know my name and say hello to me. I am a simple guy from a country city in Brasil. This is priceless for me.
Thank you, to Laerte for another fine installment in the Why We Write series (anyone into Star Wars can’t be all bad!) I particularly like his answer about why he writes. Because he likes it. I think in future installments the “why” question will also include that question. Do you like it? I know I personally waver daily between loving to write and hating it. Sometimes the hate is simply because I can’t find the words to reflect the material I want to write about. Other times I just enjoy spending hours at this keyboard typing about technology.
Well, here we go
again. I am making my final preparations
again for my "How to Design a Relational Database" pre-conference
seminar coming up at PASS. If you want to know what the "official"
abstract is, you can find it here
and if you are already convinced and have credit card in hand, click here and
register before the price goes up more. If you have already registered but not
for my (or any other) pre-con, you can always add on the precon!
So you can read the
abstract, but what to expect? First off, expect to not sit in one spot while I
drone on and on for 7 hours of lecture or code samples (not that I couldn't go
7 hours straight just lecturing, and it would be a little bit easier to plan, I
assure you). I plan to limit lecture to 3 hours in four sections:
Section 1: Introduction with a bit of history
We start with just
enough introduction to the materials, the stuff you need to do *before* you
design, and introduction to the history of the craft to make sure we are all on
the same page.
Section 2: Modeling and structures
Next I will cover
the fundamental building blocks of relational databases, like tables, columns,
keys, etc; and how to create a data model of the constructs. This is by far the largest part of the
lecture, and by the end we should all be on the same page as to what goes into
the database, if not exactly "how" the final product should look.
We will stop at this
point, and I will get out my modeling camera (that sounded a LOT more glamorous than it will turn out to be) and
we will do some modeling on paper, eliciting you (assuming you have gotten out
someone's checkbook and paid the entrance fee AND actually shown up :) to provide
the parts of the database, and we will all decide what should go into the
This initial model
will be VERY simple, but it will help me to decide how to proceed with the rest
of the day's exercises (based on the class size, acoustics, etc.) Every exercise can be done in teams or as a class…
Section 3: Model Standardization (Normalization)
Next up, we will
talk about the kinds of things you need to do to the model to prepare the model
to be implementable by truly analyzing the structures to see if they make
"sense" within the confines of the relational model. It is always
interesting to me that most models are somewhat normalized, but people think
that normalizing makes things slower. And the misconceptions about the higher
normal forms make even less sense…
Once we are done, we
will start the exercises. The first exercise is planned as a full class
exercise, where I will man the data model (first on paper, then in a modeling
tool), and elicit input from the class, in a manner that make sure everyone
gets a say.
Then we will
certainly break up into small teams and build a final model on paper, which I
will bring up to the projector and we will discuss the different solutions.
Section 4: Physical Modeling Overview
Assuming we still
have time, we will take the last 40 minute and cover turning the model into a
"real" database. Data types, domain implementations, constraints,
testing, etc will be covered.
Due to the
limitations of the 7 hour format, and a *strong* preference of previous classes
towards actually doing some design, there are topics we won't cover. But
honestly, if you can get the basic design correct and make the model
look like what the final model needs to, the rest is kind of gravy.
What I really love
about doing all of the designs is that we really get the flavor of a real
design meeting. A few differing opinions, a few ideas I hadn't planned for, and
a few argumentative types who really want their own way. But none of the
arguments so far have gotten out of hand, and they have all been very much like
the typical data modeling meeting.
So after reading
this, if you are still confused if you are in the target demographic for my
pre-con, I will present on my twitter feed with a hashtag of #drsql_precon_demo
what I feel to be the target audience. Some of them will be silly, and some
will be serious, but if you all show up we are going to have ourselves one heck
of a good time.
Every September for the past 12 years, not only does summer slowly come to an end, but it is the time that final preparations for the SQLPASS Summit are being made by just a ton of people. I have always focused on speaker preparations myself for the most part, but there are hundreds of other folks furiously prepping to make the trip up to Seattle.. er.. I mean, Charlotte, NC (still seems weird after the long run in Seattle!) If you have never been to the Summit, I would highly recommend it. You will almost certainly end up with enough knowledge to make it worth your time and entrance fee. And even if you didn’t learn a single solitary thing, you will probably end up with more technical contacts than you can shake a stick at, (and probably more than a few new friends). I have made a lot of lasting relationships during my years of going to the PASS Summit, even before the days where social medial came into being; making the SQL community a year-round entity.
Concerning the venue, it is pretty cool that we are moving to a different area this year. It has been a while since we last went to a different city than Seattle, and I am both excited and frightened. Seattle has become quite comfortable, as I have been to the convention center at least 15 times for conferences, I know my way around, I always stay at the Homewood Suites up the hill, and like I blogged last year, it even has smells that remind me that I am at the Washington State Convention Center (I will actually miss stopping at the burrito place this year!) If we are lucky, this year we will make new memories of locations, and hopefully end up pining to go back to Charlotte for another conference some day. I know that I feel that way about Denver, despite the lack of oxygen my lungs so desire. I particularly enjoyed the year where it snowed there during the Summit! Of course, it will also make it that much nicer next year to go back to Seattle.
For my sessions, preparations are coming along nicely. I have turned in my Hierarchy presentation, and have already done the presentation at DevLink where it was reviewed decently, with some information that I think will really help to smooth out the demos, and to present the pros and cons of the implementation methods. I have been doing some fairly large hierarchy testing to show the benefits of the different implementation methods that are pretty interesting (at least to me). It is interesting to see how the five different hierarchy implementation patterns we will review work, particularly with very large sets of data.
But before that session, I have two others on my favorite subject, that being database design. First on October 14th, for SQL In The City, I will be doing a compact version of my Fundamentals of Database Design, which is an hour long version of a database design lecture that could easily take 3.5 hours, followed by another 3.5 hours of classwork trying out database design.
Note: SQL PASS has precon sessions going on on Monday that are filled with fantastic content from heavy hitters like Itzik Ben-Gan, Paul White, Stacia Misner, Brian Knight, Devin Knight, Curt Matthews, Shon Hauck, Paul Randal, and Glenn Berry. If you can swing one of them, I would. If you are there on Monday and cannot swing the additional fees or wanted one of the Tuesday sessions (that are not loaded with slouches either, I look forward to seeing you at SQL in The City.
On Tuesday, October 15, I will be teaching my How to Design a Relational Database precon session, in which I expand the material to cover design logic and theory in a good bit more detail, but then we as a class will work together to actually do some designs. Once or twice as a class unit, and then we will break up into teams and the class will work as teams to produce a design that we will come back together and discuss. No design will end up perfect with only an hour to build it, but few if any designs end up perfect with weeks to do the design either.
Once the precon has ended, Tim Ford and I will be once again reprising the Quiz Bowl, and this year we will be looking for talent amongst our (my and SQLPASS') twitter followers. Stay tuned if you feel like you might be the kind of nut person we are looking for. Moments after that I will sink into my bed and sleep as long as I possibly can before the hierarchy session.
Over the next few weeks I will blog an introduction to each session with a few tastes of what to expect. For now, I am going to continue to try to optimize my hierarchy code to see if I can improve load times… optimizing code is fun!
Today's interviewee is someone who
is quite a prolific writer, with her most recent book being Microsoft SQL
Server 2012 Reporting Services, having been released in May of 2013; and if you
check out her Linkedin page (http://www.linkedin.com/in/staciamisner), you will find 12
other books she has either authored or co-authored. And that is just the start…
Stacia has a blog at http://blog.datainspirations.com and it is amazing
that it has any entries at all considering how busy she is speaking and
teaching (her events page on her
website doesn’t even mention PASS yet) I met Stacia when I was looking for
an MDX and SQL Server Reporting tools training, and while BI tools aren't
exactly something I practice, I learned a very large amount from her classes,
as did my coworkers.
I have asked Stacia to take a few minutes (or, as I learned when I answered the
questions myself, perhaps a few hours) to answer a few questions about why she
writes. I am a bit concerned that she is going to be my first interviewee that
pushes the limits of career writer, but I will publish it in any case...
1. We all have influencers that have
advanced our careers as writers. It may be a teacher who told you that you had
great potential, or possibly another writer who impressed you that you wanted
to be like? Or perhaps on the other end of the spectrum it was a teacher who
told you that you were too stupid to write well enough to spell your own name,
much less have people one day impressed with your writing? Who were your
influences that stand out as essential parts of your journey to the level of
writer you have become?
I don't remember the
details anymore, but I have a vague memory of participating in a writing
contest when I was in the 3rd or 4th grade. So I definitely had teachers that
encouraged me. I didn't win the contest, but I did get an honorable mention and
the award was no doubt a book. I was surrounded by books when I was young,
having parents who were prolific readers. My punishment when I misbehaved was
to go outside and play. Otherwise, I was quite happy to sit inside and read all
the time. Not only did I read fiction, but also the encyclopedia and even the
dictionary. I think reading a wide variety of books is essential to developing
the ability to write. Later in life, I discovered my mother was secretly
working on The Great American Novel. In many ways, I have followed in her
footsteps in my career as a woman in technology, and have outpaced her in the
publishing field, although my genre is technical books. I only know that she
was (is?) working on a piece of fiction, which is not something I feel I have
enough creativity to do. Nonetheless, I have always been keenly aware of my
mother's writing skills and have sought to measure up. I don't think she knows
how much she influenced me in that regard. I was never told what career to
pursue, just to pursue it well.
2. As the years pass, how has your
writing changed? Do you feel like it is becoming a more natural process?
Or perhaps you get more critical of your own writing to the point that it takes
Having worked with a
number of copyeditors over the years, I see a difference in the amount of work
they do (or don't do) to clean up my writing. I have this insane goal to submit
the perfect manuscript, but then deadlines kick in and I reluctantly submit my
work. Consequently, I can see that I am definitely more critical and it does
take longer to write than I would like. I'm not sure if that's a good thing or
a bad thing!
3. From what I know about you, you are
quite busy teaching, speaking, actually creating software, as well as writing.
Do you find yourself favoring any of these tasks over another?
Correction - I do not
create software unless you know something about me that I don't! I do stay
quite busy. I like all aspects of what I do, and especially the ability to
switch gears. That said, when I'm teaching, I really love teaching. When I'm
speaking, I really love speaking. When I'm writing, on the other hand, I really
hate writing and wonder why I set myself up for this again! But then I look at
the finished work and I hear from readers who appreciate what I've created, and
then it makes it all worthwhile. It pushes me to learn more and think about how
to communicate complex ideas, which in turn helps me in the classroom and at
4. Assume a time machine has been
created, and you are scheduled to speak to a group of potential writers, in which
you and I are in attendance. Without concern for the temporal physics that
might cause the universe to implode making the answer moot, what would you tell
"past us", and do you think that your advice would change where you
and I are in our careers now? (like would you tell yourself to get excited for
the day you will be sitting here for a rather long period of time answering
interview questions and not getting paid for it, instead of feeling the warm
sun on your forehead?)
Ok, that question just
made my head implode thinking about what to say, especially because I know the
outcome for the present "me" and there's not much I would change. In
retrospect, I think I would say don't worry so much about how cleverly someone
else writes. You have your own voice and perspective to bring to the writing
that readers appreciate. Therefore, my advice is not one that would be
career-changing, but one that would hopefully inspire a bit more
5. Finally, now the big question I am
trying to get answered. As my earlier questions have made clear (plus I am
guessing you have some non-work things going on too!) there are no doubt
tremendous pulls on your time. Why do you do write?
Because I'm crazy and I
can't sleep anyway! Besides that, I find it really helps me dig more deeply
into the technology in which I specialize. I can work with a product for years,
and still discover nuances about it that no else has mentioned. When I approach
the learning by writing, I find I can articulate my own questions better and
then go on a quest for the answers. As an example, my editor let me go much
deeper with my last Reporting Services book. It's a giant book, and yet you
should see the notes for things I wish I had added. It could potentially be
twice its current size. I wanted to create something that went beyond the
traditional Step by Step series I had done before in order to help people of
all skill levels, including myself.
Bonus. Are there any projects you want
to mention that you have coming up that you want to specifically mention?
You can expect more book
projects, one just spinning up and another still in the percolation mode. The
main focus of the remainder of my year will be producing several new courses
for Pluralsight. Meanwhile,
conference season is not far away. I'll be speaking at IT/DevConnections
in Las Vegas in early October, at the PASS Summit in Charlotte in
mid-October, and at SQL Server Days in Belgium in November. Of course, there
are several SQLSaturday events that I
am eyeing, so you never know where else I might show up this year! It's always
Thank you Stacia for taking the time to answer my “little”
interview questions. I love hearing from my fellow technical writer types to
find out about their process, history, etc. I must admit that by far, my
favorite answer is the one she gives there she gives is here:
I'm teaching, I really love teaching. When I'm speaking, I really love
speaking. When I'm writing, on the other hand, I really hate writing and wonder
why I set myself up for this again!”
feel the same way too, but kind of inverse. When I writing, I am happy, and I
find that teaching, speaking, and writing are all very much writing tasks. I
spend scores more hours preparing presentations than doing them. That part is
fun, going over and over it, finding mistakes, flow problems etc.
I have never felt comfortable in front of people, so I get nervous and don’t
really start feeling good about things until about halfway through.
do sometimes wonder why I start writing when I could make a lot more money
doing other sorts of side work, or to be honest, the same amount of money
watching reruns of “What’s Happening?”
her answer to the “Why” question does mirror mine very much: “Because I'm crazy
and I can't sleep anyway!” Well put.
For today's entry (and after a brief side trip through my own experiences), I move just slightly out of the SQL realm to a Microsoft Clustering MVP. Ok, in reality he is very much a SQL Server expert/guru (having taught for the SQL Server
2008 Microsoft Certified Masters courses), and has been for many years. He just spends more of his (at least public) time working on failover clustering than he does in the more general type of DBA/TSQL/Business Intelligence role tasks that most of the people I have interviewed so far have been involved with.
I have known Allan for quite some time now, and while we may not share a ton professionally in common (other than a love for SQL Server), I talk to him often about one of
my favorite hobbies, going broke at Disney Theme Parks. His twitter handle is @SQLHA, and his website/company website is http://www.sqlha.com/.
Allan is a prolific writer, having written several books for
Pro SQL Server 2008 Failover Clustering and
Pro SQL Server 2005 High Availability, and most recently a very soon to be out, self
published book called Mission Critical SQL Server.
His blog has a very steady stream of on average 4 or 5 entries a month that are very interesting and useful to read. Today, I ask Allan to answer my questions about why he writes to continue my quest to find out why other people are writing.
1. There was a point in time when you didn't have a blog, didn't tweet, and had no public presence whatsoever. And then, one day, you made the decision to put yourself
out there. What prompted you to get started writing, and what was the first public work you produced?
I can’t ever remember not writing or doing something like drawing (little known fact: I designed the CD covers for all three of the CDs I’ve released to date).
I’m inherently a creative type and very verbose. I’ve never loved writing fictional things, though, so I won’t be the next Clive Cussler or even Mark Russinovich. I’ve always liked more factual-based writing.
Speaking to the public presence thing, it’s always been part of who I am. I think I had one going back to when I was a kid. Even prior to starting to play
bass in third grade with performing publicly and getting attention that way (I was already playing with high school kids I think less than a year after starting to play), I participated in services at our synagogue doing one thing or another (leading part
of the service, reading Torah/Haftorah, whatever). In fact, during high school, when the rabbi went away sometimes either myself or another friend of mine would lead the Friday night or Saturday service from time to time. So “being out there” and doing public
speaking/appearances has always been a part of my oeuvre. I can remember one time where it was myself, my Mom, and a handful of other people in the synagogue. They were setting stuff up or cleaning something up. I went up to the bimah and started hamming it
up over the microphone. I couldn’t have been more than 5, if not younger. Funny how we remember things like that even later in life.
I can also remember in high school when our jazz band made the finals for the Berklee Jazz Festival in Boston, we played the Berklee Performance Center. It
wasn’t until years later when I went back and saw a concert there that I realized how big that place is. I would say my experiences with music and in synagogue have certainly benefitted me later in life.
What was the first public writing I’ve done? That’s a tough one. It depends what you define as public work, because it would probably go back to elementary
school. I was underclass editor for the high school yearbook as a sophomore, and editor-in-chief as both a junior and senior. I was the co-editor of our bus’ compendium for USY on Wheels (USY is a youth group). I have a very long history of doing things that
paved the way to where I am today. I don’t think anything I’m doing today would be a complete surprise to those who knew me back then.
The writing I had the most fun with was in the 90s when I used to do a bit of music journalism. I got to interview some of my favorite artists, including members
of Styx, Genesis, Geddy Lee of Rush, and Howard Jones. That really paid poorly (if it was paid), but it was a blast. A running theme you’ll notice in this entire interview is I’ve had a pretty good life to date and lots of luck.
Funny aside – even in elementary school I would be up at all hours of the night working on projects such as reports only to have to be up and out by 7AM or
so. Not much has changed today.
With regards to blogging and tweeting, it’s a matter of making sure you are putting yourself out there. I was very late to the club on both of these social
media aspects. As an independent consultant and business owner, it’d be just stupid not to have some sort of presence. I won’t lie. But I tend to go into these things more reluctantly than people think since I’m inherently a private person. I’m a risk taker,
but other things I’m more conservative about. I’m not about tweeting my life story, and I only blog when I’m inspired – quality over quantity. I don’t schedule tweets or blogs. No slam on those who do, by the way. It’s a perfectly valid way of doing things,
it’s just not mine.
2. We all have influencers that affect our trajectory as a writer. It may be a teacher who told you that you had great potential, or another writer who impressed you
that you wanted to be like? Or perhaps on the other end of the spectrum it was a teacher who told you that you were too stupid to write well enough to spell your own name, much less have people one day impressed with your writing? Who were your influences
that stand out as essential parts of your journey to the level of writer you have become?
I’ve been tremendously lucky my entire life. Many people have championed me and pushed my potential along the way, and I’m indebted to all of them. Those who
have championed me have seen something in me going back to being a wee tot that they wanted to help foster. I have no idea what it is. If I did, I’d sell it and retire.
I can remember being my usual precocious, outspoken self even in kindergarten. Here in the US, there’s not too much deep learning going on in kindergarten
– at least that’s what I remember. I think one day I raised my hand and said I was bored. The exact circumstances of what happened next are a bit fuzzy since we’re probably talking about 1976 or 77, but they put me in an advanced reading class by myself a
few hours a week. I remember they had to throw my US History II midterm out of the grading curve since it covered more than we learned but I knew the answers anyway because I was a history buff. I’ve been lucky like that my entire life; education was a positive,
not a negative. This isn’t meant to boast or sound cocky at all. Plenty of people know more than me.
It was unprecedented to be a junior and the editor-in-chief of the high school yearbook; I was the underclass editor the year before including doing all of
the layout work. That particular English teacher who headed the yearbook, Mr. Schroyer who unfortunately passed away, was a great guy. All of my music teachers (Mr. Forte, Mr. Cohen, Mr. Schlenker, Mr. Peraino, Mr. Lesser, and a few others) in school really
helped me out, too. I never took a formal paid lesson; I had whatever I got in band or the brief lessons in school itself. I never really practiced. When Mr. Cohen came into our third grade class to try to talk band up, I told him I wanted to play guitar.
I was insistent. He took me in the hall and told me there was bass guitar, and the rest is history. I’m not always good at being subtle or taking no for an answer. I was first chair trombone in high school my senior year, yet I only really played the thing
in band class and only took it up in fifth grade because a) I couldn’t be in band and play bass since marching band was a requirement b) I didn’t want to learn a new clef. Mr. Lesser drove me to audition for being in the state high school jazz band. That was
over and above. I can remember making the all South Jersey jazz band five years in a row (grades 8 – 12). Mr. Lesser always helped me prepare. One year I beat someone more senior than me (I think I was in 9th grade at the time); the guy was pissed
off and looked like he thought he deserved it because he was older. I never made state; whoever else auditioned was better than me. That’s the way it works. I took it all In stride, but he never stopped believing in me or my talent. I remember those years
It’s one reason I take mentoring seriously; the right person/people can really set you down the right path. A good mentor knows what buttons to push, and when
to leave you alone … and possibly even let you fail. But they know you’ll learn from the failure and be better for it. I think anyone who has had any kind of success also knows failure which makes you appreciate the success that much more.
Another influence on me was my manager at a company called PC Docs (later bought by Hummingbird), Bob Toth. I was the database and OS jack of all trades since our product needed to support Oracle, SQL Server, Sybase, and for a time, Informix, on a variety of platforms including Windows NT, Solaris, HP-UX, and Netware. It was my job to be the first person to run our product on these platforms even before anyone else touched it. That meant I was figuring out how to get this stuff installed and working on the backend all the time. Sound familiar? When the NLM version of Oracle is your favorite of the Oracle flavors, you know you’ve touched too much stuff. As part of this process, I realized there was no roadmap; I needed to figure things out and make it simple as well as repeatable. So it was at PC Docs I started doing full instruction guides for internal use for getting the platforms up, but at some point some of our public guides were not up to snuff. I remember contributing some of that content to them. From a database perspective, that was my first formal public appearance with writing. I also remember speaking with Bob at Docsummit in Florida (Orlando?) around 1997 or 1998, which I guess kicked off that aspect of my public speaking. Docs is also where I first saw Wolfpack, which later became the clustering we all know and love in Windows – failover clustering. Docs was my second job out of college and lasted for about 3 years, but it was arguably three of the most influential of my formative years in the working world. It set me up well for working at Microsoft, and as they say, the rest is history.
3. What would you say has been your greatest success story as a writer, even if it was not a commercial success? And conversely, have there been any projects that were
just complete disasters that you probably could have looked back and realized that before you got started?
I think my biggest success is reflected when people e-mail me, come up to me at a conference or talk, etc. who tell me that something I’ve done has helped
them or they like it. It’s still odd to get comments on my 2008 book 4 years later! It shows all those hours put in were worth it even if others didn’t agree with the vision. It’s very humbling. Writing really isn’t a vanity project for people just to recognize
me since inherently I’m a private guy who happens to wear things that are sometimes eye catching. (Wendy Pastrick likes to remind me of the purple cords I wore at one Chicago SQL Saturday; I still have and wear them.) I mean, have you seen my mug? Modeling
agencies won’t be contacting me any time soon!
As far as writing disasters go, I can think of one nightmare whitepaper which has since been published (won’t say which one it is) that was pure hell. The
content owner had no clue what they wanted, but they did know it wasn’t what I wrote. By the third complete rewrite (and we’re talking a whitepaper of 50+ pages – not an insignificant amount of work!), I basically drew the line in the sand and said take it
or leave it. Why hire a SME who knows the space if you don’t either trust them or know what you want? That paper nearly ruined a vacation, too. My travel companion was not happy with me. In retrospect, I should have walked away. The situation got a bit ugly
behind the scenes and its side effects lingered for quite some time.
4. As I mentioned in the intro, you are a Disney fan. Does this or any pop culture affect your writing? I know I frequently want to infuse Monty Pythone-sque tidbits
into my writing (even if the occasional editor strips it out as non-essential,) and my latest trend is to name my presentations like a Goofy cartoon, starting off all names with "How To".
Ironically enough, I really don’t use Disney in my examples. It’s a bit too obvious.
I have a whole blog post (http://www.sqlha.com/2011/10/19/fun-with-naming-conventions/)
which talks about how I use bands and musicians for things like server and instance names. It’s in all of my books. Some people get it, others don’t. After years of doing it, people have caught on. I like seeing the reaction of people when I’m talking and
say things like, “So when you join Dennis and Tommy to the Styx cluster …”.
Speaking to your Goofy “How To” point, if people haven’t seen the Goofy short made a few years back entitled “How to Hook Up Your Home Theater” (http://video.disney.com/watch/how-to-hook-up-your-home-theater-4be387e52d43da0e1266b068),
go watch it. It’s fun stuff and was great to see them take the classic Goofy themes and update them for modern times. I also like the just released Mickey Mouse short “Tokyo Go” (http://video.disney.com/watch/disneychannel-tokyo-go-4e09ee61b04d034bc7bcceeb).
Since I love visiting Tokyo as well as like trains, that plus Mickey = winner. Nice nod to Walt at the end. I’m glad they’re reintroducing Mickey to a modern audience in a way that’s not just for kids (i.e. Clubhouse) but in some ways, a bit more true to his
early essence. “Runaway Brain” from 1995 was good, but nearly 20 years ago now! Nice seeing Mickey be more than just a character in a theme park since that’s the way it used to be.
5. And now for the silly question…Assume a time machine has been created, and you are allowed to go back in time to speak to a group of potential writers, in which you
and I are in attendance. What would be the most important point you want to make sure that we hear and follow up on? Do you think your advice would have help current you to do a better job? Or perhaps to do something els?
Write because you are passionate, not for the payday. Some things may be more lucrative than others, but if you factor in the time spent into writing something,
you really don’t make a lot when all is said and done. I love doing it, otherwise I wouldn’t bother.
Worry about quality and staying true to yourself, even if it means walking away. Look at what I’m doing with
Mission Critical SQL Server. This isn’t some drama filled split with Apress; we just disagreed on what the book should look like so I’m doing it the way I believe it needs to be done. Am I nuts for doing it? Ask me in a few months. It’s certainly a lot
of work and it’s stressful, but also very exciting.
Ensure your personality shines through in your writing. For better or worse, people who know me say they can hear my “voice” when they read what I write. In
other words, I’m no different no matter what I do. That has led to some problems along the way, since I write in a way people can read and try not to create a dry, boring document. Some have a vision that a whitepaper or book can’t have any personality or
must be formal 100% of the time; I disagree. Sometimes it’s true, but most of the time there’s some latitude.
IP ownership is a huge topic that every writer today needs to think about and deal with. Data is a company’s IP, and what I generate in terms of writing is
mine. I do scrutinize the IP clauses of any contracts we sign. A big part of what I do (and why I’m an MVP) is about giving back; what I give freely I do so with no remorse. However, that doesn’t mean I think everything I do should be free. This is the art
vs. commerce argument. Since I’m a musician, this topic of free vs. paid also hits home. How many people pay for music today? A topic for a different time, but relevant here.
My last book I know is up on torrent sites; I wish I could say it wasn’t and people respected me not to do it. I really don’t have that much spare time to
write something as large as a book only for grins and yucks. I know some consultants who won’t speak at a conference unless they are getting paid, let alone write a book! Despite what people may think, there’s nothing wrong with that. Writing a book is a long,
tedious, painful yet rewarding process those of us who write say we’ll never do again, but we do it over and over. We must be masochists at heart. DRM isn’t the answer to fight piracy – I wish it was; it’s a gnat in the big picture. In theory DRM is good,
but the practice causes other problems. I think I dealt with it in a decent way with
Mission Critical SQL Server. Time will tell.
I don’t think I would have done a better job since my experiences formed who I am today, but things like IP ownership are things I never thought about until
later in life, whether you are monetizing your writing or not. Plagiarism where people steal whole blog posts and repost as their own is common; plenty of people have talked about their experiences. I wish someone had sat me down when I was younger about the
business side of things. Writing is easy. Business, legal, and doing the right thing is apparently harder,
6. Finally, beyond the "how" questions, now the big one that defines the interview series. Why do you do write?
I think I have a somewhat insatiable quest for knowledge and I like to share that if I can in some way. Paraphrasing someone I used to work with years ago
when I worked at Microsoft: “I came to Microsoft thinking I’d find all the answers. Instead, I had to create them.” I’ve always been inquisitive. Most of what I do stems from wanting to truly understand what goes on as well as a frustration with most documentation
and how poorly it is done. Given what people have said about my books, I seem to have a knack of taking concepts that are sometimes difficult and explaining them in a way that they understand them. Some say it’s a gift. I don’t know what “it” is, but I’m glad
I have whatever “it” is.
Earlier, I said I don’t write fiction, but I do tell stories. That’s the one things that frustrates me with most technical writing – people don’t have a story
they are trying to tell. There’s no flow, no purpose, no beginning, middle, and end. The writer meanders with no thought, leaving you more confused than if you never read whatever it is you just digested.
I also hate really dry reading. Something you read may be factually correct, but it’s impossible to get through because the author is a poor writer. I never
want someone to label me in that way. I’m continually trying to improve. I’m never satisfied with ‘good enough’ if I can help it. And people wonder why I sleep very little …
I think the bad writing out there fuels me a bit, too, truth be told. And for heaven’s sake, the people who do text speak in writing drives me crazy. (“Where
r u going 2?”) I’d like to think I’m keeping real words alive somehow ha ha
Bonus Question: Are there any projects coming up that you would like to tell people about?
<feel free to tell us about, or advertise anything, work, fun, speaking, writing, etc.>
The pre-release content for the first edition of
Mission Critical SQL Server be starting to roll out soon (see the intro for link), and I hope to have it competed (fingers crossed) before the end of calendar year 2013. I like the subscription model I’ve come up with for providing updated content, and
I hope others do as well. Nothing ventured, nothing gained.
I’m starting to schedule a bunch of my 4-day mission critical class which has labs. I do it a lot privately, but I’m getting more requests to do it publicly
so I’m dipping my toes in the water. I’m going back down to Australia for two weeks to teach it at the end of October/early November in Melbourne and Sydney, and have a Chicago class in December. Yes, Chicago in December. Buy a coat and show up! See
http://www.sqlha.com for more details on all of these and any other dates which may crop up.
I’ve got two upcoming online webinars with Penton – the yearly SQL Server foundations one with Ben DeBow (my business partner in SQLHA) which is six sessions
over two days (August 27 and 29;
http://sqlmag.com/sql-server-foundations) as well a one day, three session one on SQL Server high availability coming up on September 10 (details coming soon).
Not surprisingly I’ll also be at PASS Summit again. I’ve got both a pre-con (sign up!) on clustering and a spotlight session. SQLHA along with a couple of
other consultants will have a booth at Summit, so stop by. We may even wind up giving stuff out – you never know! It’s going to be a really busy fall.
In the non-work world, I’ve been working on my big band project since 2009 or slightly before. It’s on hold at the moment largely due to time issues since
I’m busy as well as travel quite a bit. Most of it is recorded, and there’s been a bit of pre-mix work. I still need to do a bit more writing and arranging. All of the arrangements except one are mine. The album will be a mixture of originals and my interpretation
of some of my favorite tunes from artists like Styx (a medley I’m going to arrange), King Crimson (“Red”), Rush (“Cygnus X-1”), and Genesis (“Behind The Lines/Duke’s End”) but with a jazz slant. Some of the arrangements are more literal, others are not. I’m
hoping that after this fall’s craziness and the completion of Mission Critical SQL Server, I will get back to it.
I also have an upcoming gig with the big band I play with when I’m home on September 1st
down in Norwood, MA. Unfortunately, a sub will be filling in for me at rehearsals for much of the fall due to my schedule.
Big thanks to Allan for all of his great replies. It has been a few days laying in my email box, but Allan was *the* fastest in returning the questions, passing right by two other people who I am currently waiting on. Not that I mind people being slow, I know that it takes me longer to edit the questions for another person than Allan took to reply, and it took me nearly a week to finish my answers to questions I wrote! I sometimes wish I was a lot faster of a writer, but I spend a lot of time editing myself over and over to make sure I get it just right (or as right as I can be without going crazier.)
One thing he mentions about writing is about his (and really pretty much any trade/tech book writer's) material being available on torrent sites. This one has burned me up for years, but it is something that even publishers have seemingly given up on. I think that they have given up, thinking that. 1. People who wouldn't buy a book at all might see your work and at least tell others. 2. People who would buy a book might check out a book like this but they would actually purchase the book if they want to keep it. Stolen PDFs of books or not, there is no question that you will get a lot less coin for book writing than you could doing something else. But still to this day, having a book has enough prestige that I can minimally delude myself into thinking that it is worth it.
Admittedly, as Allan says "I think my biggest success is reflected when people e-mail me, come up to me at a conference or talk, etc. who tell me that something I’ve done has helped them or they like it." I frequently say that a well thought out negative comment/review is extremely helpful, but for me, one "Thanks!" from a stranger I have never met is worth hundreds of dollars in terms of motivation. Just knowing that someone actually read the material and possibly applied it makes it all feel worthwhile. And admittedly, I have never asked to see verification that they purchased the book.