Category: Blog

  • Penance

    Buck Woody wrote a fantastic post this morning for speakers to think about. All too often I have seen some speakers at technical events adopt the prima donna stance, expecting gifts, special treatment, free food and drinks, and more. I do think that events should try to recognize speakers when they can, but for smaller events, gifts and dinner can be hard. Ultimately I want events to be sustainable, with 100 SQL Saturdays a year and there isn’t enough money to make them all lavish smorgasborghs of delight for those that present.

    speakersThere was a bit of a discussion recently about cancellations and penalties for speakers at events. Cancellations happen, and sometimes are unavoidable, however they have a huge impact on organizers. There are any number of reasons for cancellation, some legitimate, some suspect, and since Andy Leonard likes elegant solutions, I have one:

    If you cancel speaking at an event, the event bans you from speaking the next time they have the event. You get an appeal to the program committee to state your case, but their decision is final.

    But Steve, my wife broke her arm and I had to leave early. Why can’t I speak next year?

    I completely understand. If you have a family emergency, or you’re sick, cancel. Take care of you and yours. That’s understandable, no one can blame you, and you can appeal to the committee and state your care.

    However do your penance. There’s no entitlement here for speaking. I believe in making the decisions that are ethically and morally just for each person, but then be man or woman enough to stand up for your decision, regardless of the consequences.

    I cancelled on SQL Connections a couple years ago because my wife broke her arm as I was landing in Denver between events. I wasn’t speaking, but had committed to help cover the event for my company. They would have been justified in telling me they wouldn’t pay for me to attend anymore. And I would have accepted that as a result of my decision.

    I cancelled on the Louisville SQL Saturday this past January, after I had submitted a session and been accepted. I gave them as much notice as I could, in this case I told them in Nov and they had two months. My reason: my middle son’s black belt test was the same day.

    I am still apologizing to Malathi for my decision, and if she decides not to allow me to speak anymore, or any other SQL Saturdays cite that as a reason to not choose me, I accept the consequences.

    We are adults, we are professionals, and if our other obligations intrude and override our commitment to speak, accept the consequences. It might suck, but it’s the adult thing to do.

  • Is my blog infringing on anything?

    There was a recent uproar about a session delivered recently. A company thinks that the session infringed on their intellectual property. The Midnight DBAs had a short write up here that summarizes, and expresses some amazement.

    I am sure that this accusation is baseless, but there are likely a few people that are worried about where the lines in intellectual property are drawn. I will try to explain things as I understand them, but two important points:

    1. I am not a lawyer, nor do I play one on TV, and I have not stayed in a Holiday Inn Express in a few years.
    2. IP law is a little hazy and what might be seen as infringing in one court might not in another court. However if you do not stray too close to any lines, you should be fine.
    3. If you are really worried about something, get another opinion before you publish a blog.

    With that in mind, here is what I recommend.

    Copyright

    First, do not copy anyone’s words or code as they were written. In other words, no highlight/copy from their blog/article/Books Online/anywhere else and paste on your blog. This is plagiarism if you somehow imply that you wrote the work, and it is copyright infringement if you republish this information without permission.

    Q: I aggregate blogs from other sites. Am I infringing?

    If you republish an abstract, usually seen as 100-200 characters, then no. If you republish the entire thing, then yes. It’s freely available, as in speech, but that doesn’t mean you get to disseminate that speech yourself.

    If you want to use a section of someone’s work, as in a section of a blog or a section of Books Online, or something similar, then quote it, give a source, and comment on it. That last part is important. Fair use is generally allowed when you are critiquing, or expanding on someone else’s work. It’s not generally allowed when you are just showing their work, even a snippet, as a way to avoid rewriting things in your own words.

    In general the rules more universities have of only quoting a paragraph or less are what I would recommend. If you need to use more than that, perhaps you should just link to the relevant page.

    Images

    Images are hard, precisely because they are protected by copyright, but also because of the technical imposition of how they are transferred to a browser. In general, here is what I recommend.

    Shoot your own images.

    Use SnagIt or Quick Screen Capture or Skitch, or your cell phone camera to take images. Then you have no issues. If you blog for money, i.e. in a commercial sense, including on your company’s site, be careful of using any copyrighted items like works of art or professional images. Try to keep to public stuff.

    If you want to search for images, I recommend using Flickr and searching for creative commons licensed works. Tons of them are out there and you are usually fine using them. I tend to save the image, and then place a hyperlink back to the original to give them credit. Most people don’t care much, especially if you are promoting their work. If the artist is a pro at producing the image, definitely ask and respect the copyright symbol on any image. Don’t republish those without specific permission.

    I have also found lots of companies, such as Demotivation, will allow you to use their images and link back to their site for sales. Amazon is pretty open about using their images of books, just be sure you save the image on your site and don’t tax the Amazon servers. Often if you just ask, you’ll get permission.

    Code

    Write your own code. It’s that simple. Build your own code, test it, and publish it. If you use an example from MSDN or another source as a base, note that. It’s just common courtesy and polite if you get help from someone.

    Lots of code is trivial, and it can be hard to copyright, but it’s easy to show concepts and invent your own queries, DDL, DML, PowerShell, etc. If you can’t invent it, perhaps you shouldn’t be writing about it.

    If you want to use code from work, ask first. If you don’t want to ask, don’t use it.

    Examples

    As an example. If I wanted to explain about database mirroring sessions, I could do this:

    =====

    The way in which a mirror is synchronized with the principal at the start of a mirroring session is explained in Books Online like this: “At the start of a database mirroring session, the mirror server identifies the log sequence number (LSN) of the latest transaction log applied on the mirror database and asks the principal server for the transaction log for all subsequent transactions, if any. In response, the principal server sends to the mirror server any active log records accumulated since the last log restored to the mirror database or sent to the mirror server.” (emphasis mine)

    ====

    I have italicized the BOL section, which I think is appropriate since it sets it apart from my words. I have also added a comment at the end about the emphasized, or bold section, which is not bold in the original text.

    I would not do this:

    ====

    Database Mirroring Sessions

    Database mirroring occurs within the context of a database mirroring session. This topic assumes that you are familiar with the principal, mirror, and witness roles, operating modes, and role switching in database mirroring. For more information, see Database Mirroring Overview.

    When the mirror database is ready, and the server instances are configured, the database owner can start database mirroring. As soon as mirroring starts, each partner begins to maintain state information in its database about that database as well as the other partner and the witness, if any. This state information permits the server instances to maintain a relationship known as a database mirroring session. Throughout a database mirroring session, the server instances monitor each other. The state information is maintained until the database owner stops the session. For more information, see Mirroring States and Monitoring Database Mirroring.

    At the start of a database mirroring session, the mirror server identifies the log sequence number (LSN) of the latest transaction log applied on the mirror database and asks the principal server for the transaction log for all subsequent transactions, if any. In response, the principal server sends to the mirror server any active log records accumulated since the last log restored to the mirror database or sent to the mirror server. Unsent log that has accumulated on the log disk of the principal database is known as the send queue.

    The mirror server immediately writes the incoming log to disk, where it is held until it is applied to the mirror database. The log waiting on the mirror’s disk is known as the redo queue. The amount of unrestored log waiting in the redo queue is an indicator of the time required to fail over to the mirror database. For more information, see Estimating the Interruption of Service During Role Switching.

    ====

    Apart from the title, the four paragraphs are verbatim copied from Books Online. I have added nothing to this.

    Patent

    A patent is a legal award for an inventor for their specific invention. This can be a process, a physical design, or a specific improvement. They can be controversial, such as the 1-click patent for Amazon, but essentially this is something you are awarded. If someone has a patent on an item you want to talk about, you should get permission. However concepts and subject areas can generally not be patented.

    Courts can invalidate patents, and these are issued on a country by country basis. In general blogging should on infringe on patents, but code could. If you have some hee-whiz code technique, do a little research and see if anyone has something similar before you publish it.

    Slander and Libel

    Both of these are essentially the same thing, making false and damaging statements about others. Slander applies to verbal comments and libel to published comments, which would include blogs.

    If you say (or write) something false, deliberately to hurt someone or damage their reputation, you could be sued for your comments. The exception is in criticism and critique. You are welcome to review and comment on products from your point of view. I would not say something like Product X doesn’t implement encryption if it does offer that feature. However if you say “product X uses poor encryption techniques because I was able to decrypt the file in an hour” then you are making an opinion.

    Proving something as true or false is hard, but my recommendation is that you use clear opinionated words if you are going to complain, criticize or otherwise trash someone or something. Your complaints might be valid, but the way in which you express them reflects on you. An emotional rant is more likely to make you look unprofessional than make the product look poorly. Like with other blogs, research a bit, present some valid argument for your complaint and it will make you look more thoughtful, and be less likely to invite any complaints from the complainee.

    Knowledge of Infringement

    One important point to note here is that your knowledge of someone else’s work is not necessarily needed to prove infringement. You might never have used Amazon, but if you implemented a 1-click feature on your ecommerce site, you would still be guilty of patent infringement. If by some chance you had never read Books Online, but you happened to sit down one night, think about how your instances are clustered together and wrote this in your blog:

    “A SQL Server failover cluster instance appears on the network as a single computer, but has functionality that provides failover from one node to another if the current node becomes unavailable. For example, during a non-disk hardware failure, operating system failure, or planned operating system upgrade, you can configure an instance of SQL Server on one node of a failover cluster to fail over to any other node in the disk group.”

    You would be guilty of both plagiarism (unintentional) and copyright infringement (unintentional) from this page in BOL. Even if you could prove that you never had read Books Online, you would still be guilty.

    Infringement has to do with the act, not the motive or knowledge. As they say, ignorance of the law is no excuse, and ignorance of someone else’s control over IP is not a defense.

    If someone complains about your work, find out the basis for their infringement. They must have a specific place that shows you have infringed. If they provide it, make a decision. Remember, concepts cannot be protected, only specific implementations of words, art, images, code, slides, or a process. In general blogging only concerns itself with copying other’s work.

    If you get a DCMA, take down your work. You can always republish it later if that DCMA is invalid, but avoid legal hassles until you can present a defense of your work.

    However if you always write your own material, you’ll have no issues.

  • PASS 2011 Recap

    Last week was the PASS Summit in Seattle (again, but only for 1 more year) and I was up there for a long week of shaking hands and talking SQL. It was a good time, and I’m sorry I didn’t do a bit more while I was there, but I’m a bit worn out with traveling this year. It’s been hectic, and if I didn’t meet you, my apologies. I needed a bit of downtime during the week.

    The week started with me arriving on Monday, early afternoon and going on my annual Best Buy shopping trip for the SQLServerCentral party. I joked about the trip on Twitter:

    pass2011_f

    I have a good time grabbing prizes, trying to balance some quantity with quality, and ensure that lots of people have the chance to win something during the night. We have a casino night and give things away randomly for the most part. In case you’re wondering, here’s the picture from that tweet:

    pass2011_g

     

    I dragged everything back to the hotel and then got ready for our Monday night networking event. Last year Andy Warren (LinkedIn | Blog | @sqlandy) and I rented out Lowell’s in the Pikes Place market for a one night event and it was busy, with over 100 people coming down on Sunday night.

    This time we did it again, and it exploded. I arrived around 6:10 and there was a line out the door as the restaurant took orders as you walked in. It was supposed to be a pay-your-own-way, but there was confusion at first. Andy and I greeted people, and the staff put everything on one tab. We straightened it out, and my apologies for any confusion. Some people got a free meal, some didn’t, and that’s OK. Andy and I planned on a little cost, so we covered the early birds.

    It turned out over 180 people came down, and we had a line for a few hours as people waited to get in, but it worked out. People had the chance to talk to each other and network, which was the idea. After 8 I had a chance to chat with Andy Leonard (blog | @AndyLeonard) and Jason Horner (website | @jasonhorner) , and a few others.

    pass2011_e
    Credit to Pat Wright (http://www.flickr.com/photos/asylumphoto/) for the photos.

     

    A long night, made longer when I stopped by an MVP event for an hour or so to say hi to a few of my friends that were attending, including the very funny Rob Farley who I haven’t seen for a few years.

    Tuesday was pre-con day for me. I heard from a few people in other pre-conference sessions that they were great, and the one I attended was outstanding as well. Adam Machanic (Blog|Twitter) gave an all day session on No More Guessing! An Enlightened Approach to Performance Troubleshooting that talked about how he benchmarks, baselines, and troubleshoots performance. I need to write up detailed notes, but it was a great walkthrough with lots of demos and details on how you can find out what’s wrong with your system. Fixing it is up to you, but this talk shows how to find what’s wrong, and it’s worth paying for if he comes to an event near you.

    One amazing thing was his use of spatial data to build graphs of performance data, compared with baselines, in SSMS. Very cool, and quicker to do if you know how than putting the data into Excel. Easier to update as well Winking smile

    The one funny event was right before lunch. I left about 15 minutes early to return my rental car to the airport and as soon as I walked out of the room, Adam made a SQLServerCentral plug that I heard about on Twitter. My timing isn’t that great Sad smile

    Tuesday night was the SQLServerCentral / Exceptional DBA party. I missed the opening quiz bowl party as I was getting ready for my party. You can see I had a lot to pack up:

    pass2011_h

    The total prize count was 98 and it exceeded my pre-party-ticket-sales-party by quite a bit. The Best Buy total was $2500, in case you were wondering, which was a couple hundred $$ above the ticket sales. However we had quite a few people pay at the door and ended up on a slightly positive. I don’t need to ask my boss to approve any expenses, and I bought some coffees and drinks the rest of the week for people to even things out.

    A long night, and I was tired at the end. Some good conversations with people throughout the night and a lot of fun. Hopefully we’ll do it again next year.

    Wednesday

    Wednesday started with some excitement about #sqlrun. Jes Borland had organized it and I was expecting 10-15 people to come. I walked up to the Sheraton a little early and saw one person getting their GPS synced. Nice, I thought.

    I walked in to find about 25 people, which soon swelled to 40-45 people for a run along the water. It was fun, not too fast, and I had the chance to talk with Greg Gonzalez of SQL Sentry, Allen Kinsel, Tim Radney, and a few others while we jogged for a couple miles.

    A ton of fun, and many thanks to Jes for getting it organized.

    Already tired, but excited about the big Red Gate announcement. After the keynote, I went to the expo hall where Red Gate had decorated their booth with a space theme. If you haven’t heard, Red Gate is sending a DBA into space!

    pass2011_i

    It’s a cool contest, accompanied by some B-movie clips to have fun with. I’m even in one. Enter today and get the chance to fly into space on a rocket, which is amazing.

    At lunch time I left and headed out to do my Grey’s Anatomy impression by riding the ferry over to Bainbridge island for a little break. It’s been a long year, and two hectic days wore me out. I needed the chance to sit and write a bit, so I headed over on the ferry.

    pass2011_k

    My wife asked me if I was McDreamy or McSteamy on the ride, and I think I was McDreamy. At least as best I could with headphones, a laptop, and a geeky backpack on. A nice break for me and a beautiful little town. My kind of place after the crowds and bustle of Seattle.

    I returned in time to run over my Thur session in the hotel and then hit a few parties. It seems that every year there are more parties and this was no exception. I hit two on Wed night, skipping two others for which I had invites.

    Thursday

    Marginally better keynote, but not much better. I’m not sure why Microsoft insists on marketing to us in the keynotes. We’re already excited about SQL Server. Give us a technical fellow that can talk about what happens behind the scenes and we’ll be much more excited.

    I had the first session, giving my Branding Yourself for a New Job talk on the Modern Resume. Well attended with 50-60 people, some good questions, and one that I really enjoy giving. I’d switched to doing a few technical talks this year instead of this one, but I like this one. I’ll do this one a few times next year in different places.

    I walked around to a few other sessions, including a lightening talk with the Scary DBA. A short clip below:

    Lots of people walking around, and more people outside of sessions than in years past. The talks are good, but the DVD is relatively cheap, especially compared with the chance to sit and talk with other SQL Server people. Networking is important, and not just for your career. You can make contacts and get ideas to help with your current job.

    I took a couple hours to go over my Friday talk. I didn’t change anything, other than correct a typo I found. I’m not fond of changing talks the week I’m giving them, preferring to just practice. Then it was back out to parties. 3 parties this night, including a Friend of Red Gate dinner at Farestart. Afterwards our waiter, who is a volunteer and works for Boeing, talked about the program. It’s amazing, and if you are in Seattle, I recommend going there for dinner. The food is great and it’s a wonderful program.

    Friday

    Evidently I had too much fun and stayed out too long, despite walking back to the hotel just after 11. I was exhausted and struggled to get up and run, but I had a busy day planned.

    First was another amazing keynote from Dr David DeWitt. Worth watching, and in fact I was watching it again today. The other keynotes had nothing of note in them worth watching, but this one does. Take an hour when you can and you’ll enjoy it.

    Then it was most of Adam Machanic’s amazing 500 level memory session. He packed a 500-700 room audience and it was great. I stepped out early to check on my laptop and get my presentation ready. My VMs have flaked before, so I took 20 minutes to double check they were really ready to go for the talk.

    After lunch I was worried. I had the same room as Adam, and was right before Kimberly Tripp. With 15 minutes to go, the 500 seats had about 15 people in there, but they filed in and when I started there were about 200 people in there. For a 100 level basic session, I was amazed. Mostly first timers as well, which was cool. Lots of good questions, and glad I had 75 minutes.

    I answered a couple questions (I’m very thoughtful here Winking smile), but I had to run to the airport for a 5:00 flight.

    pass2011_a
    Credit to Pat Wright (http://www.flickr.com/photos/asylumphoto/) for the photos.

     

    An easy trip on the light rail to the airport (highly recommended) and then an easy flight back to Denver, though I didn’t get home until 11. A long day, and a long week, but lots of fun.

    Overall the conference felt like three days of SQL Saturday’s, which is a testament to how those events have grown. The networking is wonderful at the larger conference if you can go, but if not, get to a SQL Saturday, or Tech Fest or some other event. It’s truly recharging and exciting to go see so many people in your profession excited about their careers.

  • Guest Appearance in DBA in Space

    Win a trip into space!

    The DBA in Space competition continues today with the third question. This time I get to ask it, a sci-fi film question. No hints, but do a little research and don’t make a mistake. You only get one chance at each question to get through them. New questions are coming every Monday, Wednesday, and Friday, so keep an eye out for the new ones.

    I had fun filming it, and I’ve got a few outtakes below from my efforts. It was surprisingly hard for me to remember two or three lines in between all the other things I normally do and the podcasts I record.

    Enjoy and good luck with the competition