Category: Uncategorized

  • Selling

    I saw Paul Kenny at the first Business of Software conference, and then had dinner with him, chatting about sales. I actually had our company bring him in for some training and he was back last year again at the Business of Software. I’m not sure he’s coming again, but he’s a great speaker, and this video is worth watching:

    Paul Kenny at the Business of Software

    Most of us don’t want to sell, but we need to. Not often, especially for technical people, but there is one time when we need to:

    When we are looking for a job.

    You need to sell yourself. Think about how you sell your skills, your capabilities, and keep that in mind when you watch the video.

    If you are in the software business, consider going to the Business of Software on Oct 4-6, 2010. It’s a great conference to learn about what others are doing.

  • The Spring Event

    I hope you’ve seen the note from Andy Warren (Blog | Twitter) on a PASS Spring Event, and there’s another writeup from Kendal Van Dyke. The idea of growing PASS by offering another event, in addition to the Summit, that will hopefully grow, allow more people to come to the event, and make a little more money for PASS. Yes, they need money to run, and they place a big bet every year that the Summit will allow them to continue for the next year.

    I have to say that I’ve been talking with Andy for months on this topics. We’ve debated the value of it, the risk, and the possible rewards. We’ve tried to brainstorm and come up with ways that it can be an addition to the Summit, but also work in a way that doesn’t mean PASS is risking its future on two events a year.

    I think it’s a cool idea, and I hope that I can go. Orlando was chosen as the first location, mainly because it’s been very successful with large SQL Saturdays (300-400 people), it’s a good location in terms of hotels and the airport for people to travel, and FL has a tremendous number of talented speakers who would likely come.

    I do hope this gets going, and as I talked with some PASS board members, I think this is something that you could do quarterly, 3 a year, and move them around to different cities, perhaps focus more on certain technologies like SSIS/SSRS, and provide a different experience.

    We’ll see how it goes, but if you have comments, criticisms, thoughts, I’d urge you to start dropping them on one of the two blog posts above.

  • T-SQL – Finding Changes

    Someone posted a note recently asking about how to detect the changes in a sequence. Say you have a table like this:

    DECLARE @t_temp table (ID INT IDENTITY(1,1), Value VARCHAR(20))
    insert into @t_temp
    select 'Win32' UNION ALL
    select 'Win32' union ALL
    select 'Win32' union ALL
    select 'Win32' union ALL
    select 'Win32' union ALL
    select 'Win32' union ALL
    select 'Win64' union ALL
    select 'Win64' union ALL
    select 'Win32' union ALL
    select 'Win32' union ALL
    select 'Win64' UNION ALL
    select 'Win64'
    SELECT * FROM @t_temp

    .csharpcode, .csharpcode pre
    {
    font-size: small;
    color: black;
    font-family: consolas, “Courier New”, courier, monospace;
    background-color: #ffffff;
    /*white-space: pre;*/
    }
    .csharpcode pre { margin: 0em; }
    .csharpcode .rem { color: #008000; }
    .csharpcode .kwrd { color: #0000ff; }
    .csharpcode .str { color: #006080; }
    .csharpcode .op { color: #0000c0; }
    .csharpcode .preproc { color: #cc6633; }
    .csharpcode .asp { background-color: #ffff00; }
    .csharpcode .html { color: #800000; }
    .csharpcode .attr { color: #ff0000; }
    .csharpcode .alt
    {
    background-color: #f4f4f4;
    width: 100%;
    margin: 0em;
    }
    .csharpcode .lnum { color: #606060; }

    This gives you a simple table and it has these values. Note the first column is just a row counter from the client, the ID and Value columns contain the data.

    table_sequence

    If you wanted to detect when the Value changes, you’d be looking for the rows with IDs 7, 9, and 11. A simple query gets you that.

    select t1.ID, t1.Value
    from @t_temp t1
    join @t_temp t2
    on t2.ID = t1.ID - 1
    where t1.Value <> t2.Value

    This easily gets those values. However identities aren’t guaranteed to be sequences. What if I deleted row 11 and added another row.

    If I add in this code:

    INSERT @t_temp SELECT 'Win64'
    DELETE FROM @t_temp WHERE ID = 11

    And I run the query, I get 7, 9 on my system. A better way to do this is to actually use a subquery to find the previous value in the sequence, not assume it’s one less. Here’s an easy way to do this

    select t1.ID, t1.VALUE
    from @t_temp t1, @t_temp t2
    where t1.id > t2.id
    and t1.Value <> t2.VALUE
    AND t2.id = (SELECT MAX( id)
    FROM @t_temp t3
    WHERE t3.id < t1.ID
    )

    In that subquery, I add a third instance of the table, and I look for the largest ID value that is less than what I’m using as my “current” row in t1. This allows me to find a 10 in t3, and match that to t2 when t1 has the value 12, the next value above 10.

  • Speaking and Presenting Tips – Handouts

    I’ve given quite a few presentations, one keynote with another to come, and attended many more. I’ve read a few books on how to get better, and then in an Edward Tufte seminar recently, I got another one.

    Dr. Tufte mentioned the idea of a supergraphic, an image with a ton of information in it. I think that some BI systems are starting to think of this as something to display to users. Dr. Tufte said that most screens, especially with projectors, can’t really put up the resolution, and I’d agree. Here’s an image I found online:

    supergraphic

    This is the idea. A ton of information on one piece of paper that you can give out to people. He said that as a presenter if you find one of these, you can likely “dine on it” for years. Here’s another example he showed from the course.

    minard

    It’s actually about Napoleon’s march into Russia in the early 1800s. There were other examples, but I didn’t see any online and didn’t want to play with a scanner.

    The idea here is that you give people a bunch of information. Most of it might not matter to each person, but each person will look at something. They’ll also begin to process the data themselves, and let you highlight, talk about, or even encourage debate on the material.

    I’m not sure how I’d do this in a tech presentation, but I definitely can see that if you are presenting a lot of information, especially some type of report to others, this would make sense. I’m going to keep this in mind for future presentations I do, and perhaps even build a Modern Resume supergraphic.