Tag: blogging

  • Professional Development on PASS TV

    I’ll be live on the PASS TV broadcast on Wednesday, Nov 7, at 11:40am PST. The Professional Development group asked me to do a short (15 minute) talk, and I’ve put together a set of quick blogging tips with a few slides.

    If you’re not at the PASS Summit, you can watch this. If you are, I’m sure the recording will be available later.

  • 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.

  • Careful Blogging

    The Supreme Court Building – Will blogging rules get decided here?

    Today we have a reprint of an editorial from Sept 22, 2005 as Steve is on vacation.

    There are official blogs, like Jonathan Schwatz of Sun and others that are corporate preaching/marketing/promotional efforts. Not that this blog or others aren’t what the authors think, but I feel that they are probably checked and monitored by someone at the corporation to be sure that the message doesn’t bring any liability or unexpected issues out.

    Then there are unofficial blogs, like the guys at MSDN that are handled by employees, they are asked to post, but they are not really monitored. I’m sure there are guidelines and regulations, however, that have been posted, emailed, snail-mailed, etc. to everyone.

    I ran across this article on potential legal isues with blogs. It doesn’t appear the courts have been involved yet, but I’m sure it’s coming. At some point there will be someone that sues or gets sued over a posting and then we’ll really find out how “private” those blogs are.

    I made a note on the SQLServerCentral blogs page, but it’s something to think about whether you use a corporate site or your own private one. Be wary of what you post in a blog. To me the same rules that apply with you at Happy Hour apply on the blog. If you don’t want it getting back to your boss, don’t post it.

    Steve Jones

    (published at http://www.sqlservercentral.com/articles/Editorial/72348/)

  • Building Better Communication Skills

    I think that one of the most valuable skills that someone in technology can have is the ability to communicate with others. It doesn’t matter whether you write code, rack servers, or sit in meetings with business people, it is important that you find a way to express clearly what you want, need, or would expect from someone else. If you can’t, you will find that you often struggle to get anything accomplished in an efficient manner.

    It’s possible that you can get by with verbal communications in many instances, but it seems that so much gets done by written communications of some sort. Especially these days where it seems that so much of the interaction between people takes place through email, IM, or even Twitter. We are constantly using some form of written text to convey information between each other.

    However it seems that many people don’t place a premium on building better writing skills. When I talk to many people at SQL Saturdays, most of them are hesitant to try something like blogging. The most common complaint: I hate writing.

    But we have to do it constantly at work and working on your writing skills will not only help you to communicate better, but it will also help you learn to better organize your own thoughts. You will have a better understanding of the logical thought process, which might even help you build better code.

    Steve Jones