Author: way0utwest

  • Another Plagiarizer

    I received a note today about someone else that is plagiarizing content from SQLServerCentral. It’s a blog on Windows Live Spaces by 岩松 in Peking. I won’t link it here, since it’s not important.

    There are any number of articles copied, with no attribution listed whatsoever. This person is from Peking, and lists their occupation as SE, which I am guessing is software engineer.

    I did try to contact them, as I usually do, but their privacy settings prevented me. So I sent a copyright violation to MSN.

    I read Brent Ozar’s post yesterday on plagiarism, and I somewhat agree, somewhat not. On one hand I get that cultures view this stuff differently, and laws are viewed/enforced differently. However leaving aside all the legal stuff, what about this:

    Do you ever feel that it’s moral for you to take credit for someone else’s work?

    I can’t imagine any culture supporting this. Does anyone want to tell their kids they can copy someone else’s work so they don’t have to learn in school? If your neighbor’s kid cut someone’s grass or performed a chore, would you send your kid out to the person’s house to get paid and take credit for the work?

    I don’t think most people would. But that’s what they’re doing when there’s no attribution or credit. I get that you might want to “share” information, but why not link back to the first site? At the very least it would raise both your search engine ratings and spread the information further.

    Why else would you blog? To get a job? That’s immoral. You’re implying you know how to a) do the task and b) communicate well. At least one of which you haven’t done, and you’re deceiving the person reading it.

    Make money from Google ads? Again, you’re implying you deserve the results from work you didn’t create.

    There’s no good excuse for re-posting someone else’s work and saying that you deserve credit for it. At least Cook’s Source gave people credit, and just violated copyright law.

  • Google Scale

    I heard someone talking the other day about how Google needs to optimize their code. They really pay attention to low level operation of their software, actually having people spend time writing compilers and ensuring they generate efficient code. This is on top of the idea that they want to ensure data structures efficiently use space, there is no unnecessary network traffic, etc. The reasoning is that at “Google-scale” (Gs) if something takes 10% longer, that’s 10% more electricity they have to supply, 10% more machines, and 10% of the Google IT infrastructure budget is a big, big number.

    I’ve never worked at Gs. In fact, I’ve never worked at 0.001Gs. Most of my work in software development has been to support dozens, or maybe hundreds of users. SQLServerCentral, which was a joint programming project, was my largest piece of software , and that was built on other pieces of software, with little contributions from me and lots of Andy Warren’s keyboard sweat in the early years. Despite working on small projects, I still have always learned to consider the little things.

    When you grow up with compilers that take minutes, as in 10 minutes to compile a few hundred lines of code, you pay more attention to your algorithms. When you grow up with kb of memory, you use it wisely. When you work across a 300 baud modem, you don’t mess around with lots of data transfer. Even though many of those constraints don’t apply, I still try to be careful and watch my data types, watch my round trips, and be aware that there are actually bits being whipped across the ether or in and out of transistors in a not-so-little package on my computer system.

    The argument about “just buying more hardware” has some validity, but it’s not an excuse for not improving your skill and becoming better at your craft. As my friend Jeff Moden often quotes, it doesn’t take any more time to do it right the first time. That’s true, but you need to know how to do it right, we at least well. For all of us, that should mean some regular effort to improve your skills and become better at your craft, just like Google looks to constantly optimize their own systems.

    Steve Jones

  • Career Advice – Play Your Own Game

    I get asked this question fairly often. How do I find time to write so much, work on SQL Server, have a family, a ranch, etc. It seems that people often want to blog as much as me, or speak, or something else.

    It’s natural, I often look at others and think, why can’t I do what he does, or think that I should do what someone does.

    I don’t really want to be like someone, however. I don’t want to live another person’s life. I like my life. What I really would like to do is improve my life in some way.

    It’s easy to get caught up in trying to emulate someone that’s successful, but that’s the wrong thing. Really you want to take a piece of what someone else does and incorporate it into your life. We all look at the world differently and what might seem to work for someone else, or make them successful isn’t what wil work for you.

    Or work in your life.

    I try to stress with the Modern Resume that you want to find what works in your life, what you can handle, and what won’t become another stressor. Learn to do what works for you, in your life, and incorporate that.

    Don’t try to blog like me, or speak as often as I do, or write a book because someone you admire in this business has done it. Do it because it’s something that will work for you, and work at the appropriate time in your life.

    Play your own game.

  • Proving Your Identity

    I caught this article on Dark Reading that talks about the problems of multi-factor authentication. It’s interesting to me as I had written an editorial on passwords and mentioned that I used the fingerprint reader on my laptop. Someone pointed out that my fingerprints are likely all over the machine and could easily be lifted and used to gain access to the machine. That’s true, and it’s something I hadn’t thought of. To me a fingerprint reader is a convenience, but I might need to disable it for travel.

    As database professionals, we often rely on some other system to prove a person’s identity. For SQL Server, we typically rely on two common choices: a simple name and password, or some security token from the operating system. Those two have worked well, and since SQL Server 2005, we have also had additional encryption options that can be used to protect data, including the ability to use certificates to protect the keys that encrypt data. SQL Server 2008 also allowed Extensible Key Management, so that third party products could be used to secure data.

    As we store more and more data, and this data becomes valuable, it is more and more likely that individuals will try to steal data. While we can’t protect the data from insiders that need legitimate access, we do need to ensure that rights are properly granted and that our security systems have some way to verify the identity of the person or application that connects to SQL Server.

    It still feels like that the security mechanisms for SQL Server as a little immature, and the costs of implementing things like EKM are too high. I am hoping that it becomes more practical to implement better security over time, and we get more tools in SQL Server that help administrators manage permissions.

    Steve Jones