Category: Uncategorized

  • The Predictioneer

    51Mp8N23MUL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA240_SH20_OU01_[1] I’m not sure how this book got on my radar, but it turned out to be fairly interesting. It’s written by a professor at Harvard that uses Game Theory and readily available information about the world to both predict what will happen in a general sense, and to guide his consulting clients to make decisions based on those predictions.
    It’s an interesting idea, kind of unbelievable, and smacking of the way predictions are made in Foundation. However as I read, and learned about both big predictions on the world stage, as well as small ones in a lawsuit, it seems that there is possibly some value and truth here.
    The book talks about using insights into how people behave, along with good guesses about their beliefs, to simulate how they behave in rounds of negotiation. By simulating their interactions, and even randomly shocking the system, Prof. de Mesquita seems to be able to do a good job of predicting outcomes. Not exact dates or times, but general events, like if I offer to do X instead of holding out for Y in a lawsuit, what is likely to happen from the other side. Or how can North Korea be convinced to shelve nuclear armament plans? How can Israel and Palestine find peace?
    It tends to delve into the bigger world stage issues, but it’s also very current, having been completed in the summer of 2009. If you are curious about how BI could help, and how game theory could be used, it’s worth a read. No technical details, but enough information to pique your interest.

  • The Little Stick

    In the end, that was what made the difference. I was typing along one night on my spare Acer and the cursor kept jumping. I was getting too close to the touchpad, and it kept picking up my hands, jumping the cursor. I type rapidly, and it kept causing me to get text in different places in the document, which is really frustrating. It slows me down while raising my blood pressure.

    So in looking at laptops, that got me thinking that I want a 15” machine again, not a smaller one. Having more space for my hands to work on the keyboard was important. But I remember having issues at times with the Toshiba, especially as I work in bed quite often.

    I was debating between the Lenovo and the Dell, spending more time than I needed considering things, but then I noticed the little sick in the middle of the Thinkpad keyboard.

    trackpoint

    I had a Thinkpad years ago when it was IBM, and I really liked the trackpoint pointer. I know lots of people didn’t, but I found it handy. So I was sure that a Lenovo was the way to go. I could use the Trackpoint and turn off the touchpad. That will help me be much more productive.

    Then my wife said she had a trackpoint on her Dell. Sure enough, she does, though she’d lost the rubber cover and never used it. I checked for other machines, and there are a few that have them, but not many. So I chatted with a Dell rep and found that they have a few Lattitude models with them. Unfortunately those seem to be older technology, with DDR2 memory and limited options. I’m not an extreme performance person, but I want to be sure that I can process video and I didn’t want to go with older technology if I’m spending $1500.

    lenovo_thinkpad_w510_front-angle

    So I decided on a Thinkpad W510. It’s got the trackpoint and plenty of power, and the same price as the Latitude or the Thinkpad T510.

    Because of the little trackpoint.

  • Identity Values – Dropouts and Spaces

    Identity values are very useful, but there can be misconceptions about the way in which they work. One of the more interesting things that I see people assuming is that an identity value will ensure you have a continuous range of values for that column. They assume that this code:
    CREATE TABLE MyTable
    ( id INT IDENTITY(1,1)
    )
    GO
    INSERT mytable DEFAULT VALUES
    INSERT mytable DEFAULT VALUES
    INSERT mytable DEFAULT VALUES
    INSERT mytable DEFAULT VALUES
    INSERT mytable DEFAULT VALUES
    GO
    SELECT * FROM mytable
    GO
    DROP TABLE dbo.MyTable

    It will, and it will get give you a list of 5 rows, with continuous values. Assuming that this pattern continues in your application, you will have a continuous list of values. What about this code?
    CREATE TABLE MyTable
    ( id INT IDENTITY(1,1)
    )
    GO
    INSERT mytable DEFAULT VALUES
    INSERT mytable DEFAULT VALUES
    INSERT mytable DEFAULT VALUES
    INSERT mytable DEFAULT VALUES
    INSERT mytable DEFAULT VALUES
    GO
    UPDATE mytable SET id = 12
    WHERE id = 3
    go

    SELECT * FROM mytable
    GO
    DROP TABLE dbo.MyTable

    You’ll actually get an error, since you can’t specify identity values directly, but you can do this:
    CREATE TABLE MyTable
    ( id INT IDENTITY(1,1)
    )
    GO
    INSERT mytable DEFAULT VALUES
    INSERT mytable DEFAULT VALUES
    INSERT mytable DEFAULT VALUES
    INSERT mytable DEFAULT VALUES
    INSERT mytable DEFAULT VALUES
    GO
    DELETE mytable WHERE id = 3
    GO
    SELECT * FROM mytable
    GO

    That will give me these results:
    ident_d
    If I now do this:
    INSERT mytable DEFAULT VALUES
    GO
    SELECT * FROM mytable
    GO

    I get
    ident_e
    My next value doesn’t fill in the gaps.
    An identity value is strictly a “what’s the next number” process. It does nothing to manage the existing values, and it does nothing about filling in gaps. That’s important to know, and to be aware of when designing your database around identity values.

  • Lenovo W510

    I finally ordered a new laptop, a Lenovo W510, that caught my eye. I was thinking the T series 510, but once I added a few things it was the same price as the W510, but had 2 fewer cores. Since I do a decent amount of video stuff, the extra cores should come in handy.

    No word yet on my Toshiba, and I don’t even know what to do with that. It’s been nearly two months, and I’ve missed some things at work without having a machine I can use while traveling and away from my desk.