Category: Editorial

  • Future Virtual Machines

    Vritualization madness can be very handy

    I recently virtualized my Windows Home Server. I have had multiple boot drive failures, and I was getting tired of reinstalling the product. So I installed VirtualBox, then created a series of virtual disk drives and set my home server back up. It’s built on RAID 1 drives, so I’m hoping that it will last a long time, and even migrate to newer hardware over time.

    On my laptop and desktop, I use VMWare to build test machines, and then use them for various versions of SQL Server in presentations. I can easily make changes in a VM on the desktop, copy the VHD files to my laptop, and then have the same environment ready when I deliver a presentation. Over the last ten years, virtualization has become a fantastic test environment for me and I can’t imagine doing without it. On the server side, I haven’t even noticed the migration of the SQLServerCentral servers from physical hosts to virtual machines, and they have performed very well.

    However in one sense, nothing has changed for me on the server side. Our VMs are over provisioned, to prevent issues with the performance, just as they often were with physical machines. I suspect that is the case with many other virtual SQL Servers out there in production. However I’m not sure it’s a bad way to deploy VMs for a database server, especially with hardware so cheap.

    I ran across a series of reports on the hypervisors of the future, which talks about the changes from the various vendors, and has a large section devoted to desktop hypervisors. It’s an interesting read, though quite a bit of the information is related to open source products. On the Windows 8 front, the Hyper-V changes look good, but I worry that licensing might prevent most of us from taking advantage of the enhancements.

    I find virtualization to be an amazing way to get more work done on a desktop, in a very stable manner. I can test software in a VM and then remove it, or delete the host if the software causes issues. I can also simulate a large amount of hardware with much less effort than in the past. I urge you to try some virtualization software and experiment with the capabilities. Whether you build experience by working with software you can’t install elsewhere, or just learn some of the capabilities of the virtualization software, it will help you at some point in your career. I only expect there to be more and more VM deployment in all companies over the next decade.

    Steve Jones

  • Accept Failure

    Failure is sometimes an option

    We don’t expect ourselves to be perfect, do we? Is there ever any project you tackle that you might not complete? Is there a doubt that it might not work as expected, or that it may need substantial rework? I think that the vast majority of projects I undertake have some level of risk involved, and while I might understand that, I’m not sure I ever believe I will ever fail.

    Most things that I’ve built in technology don’t work the first time, and in fact, I expect that. I have learned from mistakes, corrected the problems, and usually finished them with some level of success. That’s the way that so many of us in technology approach our jobs. We start building, find issues, and then fix them.

    However you cannot every eliminate the risk that something will fail. There are times we need to abandon the project or abandon the work done and rebuild the software from scratch. Those failures should be learning opportunities, and should allow developers to improve their work. From my perspective it seems that too many managers, however, view failures as events that have to be avoided. Perfection and success are the only possible outcomes that are acceptable. One slip up and you may get fired.

    It seems that’s what managers think about their career, so they continue to push down dead end roads, and throw more resources at a project to recover some small level of success.

    We will always make mistakes. The true failure should come from failing to learn from the mistakes and improving your future work. If management cannot tolerate these setbacks, this problems, and allow for them, then the work will not only continue to be substandard, but people will spend more time worrying about avoiding blame than actually looking to improve their skills.

    I can’t tell you when work should be abandoned, or a project is hopeless, but every project ought to be examined periodically for this situation, especially when it is apparent that it is in trouble. You can’t save all projects, but you can learn to let some of them go, or change the situation, before it becomes a bigger problem than it is.

    Steve Jones


    The Voice of the DBA Podcasts

    We publish three versions of the podcast each day for you to enjoy.

  • Happy President’s Day 2012

    Happy President's Day

    It’s President’s Day in the US, and a holiday for me, so I’m having a Daddy Daughter day in Denver, away from work. Hopefully most of you in the US also have the day off and are enjoying yourselves away from a computer.

    For those of you in the US, I hope your code compiles the first time, queries return quickly, and you enjoy the blooper reel I’ve compiled from the last few months.

    Steve Jones


    The Voice of the DBA Podcasts

    We publish three versions of the podcast each day for you to enjoy.

  • Programmers v Salespeople

    Are sales more important than development?

    Last year my wife moved from a sales engineering position to a sales rep job with her company. It has been a bit of a challenge, but she’s enjoyed it, and it’s been good for the family. On top of a small raise, she has a large potential upside to her income as a sales representative. I’m amazed how much money some of the people in her company make from selling software and services, and I sometimes wonder how it works out.

    Recently I sent her this link about salespeople and commissions. It talks about the problems with commissions and the potential misunderstandings of what commissions actually do for our company. I know that some companies think paying salespeople flat rates and no commission is heresy. I know others that have transitioned to flat rates, including many retail companies, and they have continued to achieve high sales.

    As we debated the benefits of paying commissions,  we argued a bit about the relative value of the positions. She asked me if everyone received a salary, who shoudl be paid more. I said that I thought it was easy to replace salespeople in a company, so developers. My wife countered with “it’s easy to replace programmers.” So for a Friday poll, I thought I’d ask the tech people out there.

    Should salespeople make more than programmers?

    You can assume a commission structure, or salaries for everyone, but when you look at the value each brings to a company, and the ways in which they can help grow business, which is more valuable? Which is easier to replace? Replacing a top performer in either place is probably hard, but what’s your opinion?

    I still stand by the idea that it’s easier to replace salespeople. While I think selling is a skill, I think it’s one more easily learned by a wider variety of the population. I think programming has a fundamental mindset that is hard to teach.

    Or maybe it’s a larger number of people would be more willing to spend their days trying to sell something than sitting in a cubicle writing code.

    Steve Jones


    The Voice of the DBA Podcasts

    We publish three versions of the podcast each day for you to enjoy.