Upcoming Events

Over the next six weeks, I will be speaking four times.  All of these talks are free and open to the public—although SQL Saturdays do require payment for lunch if you choose.


On Wednesday, June 17th, I will speak at the TriNUG Data SIG (link forthcoming).  My topic is Working Effectively with Legacy SQL.

SQL Saturday Chattanooga

I will speak at SQL Saturday Chattanooga on Saturday, June 27th.  My session begins at 4:15 PM, and the topic is Much Ado About Hadoop.

SQL Saturday Columbus

I will speak at SQL Saturday Columbus on Saturday, July 11th.  My session begins at 1 PM and I’m also giving my Hadoop talk there.

TriNUG F#/Analytics Group

On Tuesday, July 28th, I will give a modified version of my Hadoop talk to the F#/Analytics group.

Meet the 2015 class of the Video Game Hall of Fame

I wrote about the Video Game Hall of Fame and its inaugural class a few weeks ago. Here are your results.

I was right on four of them, the four I thought were slam dunks: Tetris, Pac-Man, Pong, and Super Mario Bros. I assumed there’d be five winners; my #5 pick was the Sims, based on the online polling at the time. Instead, there were six winners, and I didn’t even guess at #5 and #6: DOOM and World of Warcraft.

If I were going to compare the video game Hall of Fame to the baseball Hall of Fame, Pong, Super Mario Bros., Tetris, and Pac-Man are pretty much your inaugural baseball class — Ty Cobb, Honus Wagner, Babe Ruth, and Walter Johnson. (Sorry, Christy Mathewson — you don’t get into this analogy.) You, the reader, can decide which is which, but they are all no doubters that any idiot (like me!) could figure it out.

DOOM really made the modern day FPS possible, which, whether we like it or not, tends to dominate modern gaming, especially on console, along with sports games. They weren’t the first, but they were the most popular. If he was already in the Hall, I’d say DOOM is Derek Jeter. DOOM has to be a Yankee. Somebody legitimately good, but not quite as good as everyone thought, and spawned a bunch of imitators who were wildly overrated. I think Reggie Jackson is a fair comparison.

World of Warcraft is the culmination of a series of games much older, and one unlikely to spawn any imitators who are a serious threat. MMORPGs have peaked with WOW and I can’t see anybody else challenging that. If the Old Republic couldn’t, nothing can. Some of the glimmer is faded, but it’s still going strong, and we’ll never see its like again. Tony Gwynn seems a really good fit. Hitters who rely on the raw ability to make contact and hit intelligently, without hitting for much power, and still contribute offensively in a huge way are all but vanished now. I’d use Ichiro as my comparison if he had already entered the HOF.

Robo-punter unavailable

When your back is up against it, you do whatever it takes to win. You fight, claw, and win when the opportunity comes, you seize it.

… Or, you trade for a punter. That works too.

Cleveland traded a 7th rounder for San Francisco punter Andy Lee. He is, admittedly, a pretty awesome punter. However, Spencer Lanning wasn’t exactly chopped liver either. I actually like the move, and a 7th rounder isn’t much (and it’s a 2017 7th rounder, no less), but swapping punters when the guy you had was at least okay seems like shuffling the deck chairs on the Titanic. It’s not likely to blow up in Cleveland’s face, at least, and I have a feeling we’ll be punting a lot.

Modulo Operations In R

I had a discussion with a co-worker the other day about whether the modulo operation always has the same rank in order of operations as multiplication and division.  My comment was that in C-based languages and SQL, this is generally true, but it isn’t always the case with all programming languages.  Case in point, here’s how R handles various scenarios:

  • 9*3%%5 = 27.  In this case, modulo happens before multiplication, so it becomes 9*3.
  • (9*3)%%5 = 2.  I want to show that operations in parentheses happen before operations outside parentheses, just like you would expect in math.
  • 9*(3%%5) = 27.  Again, operations in parentheses happen first.
  • 24/6%%5 = 24.  Like with multiplication, modulo happens before division, so it becomes (24/1).
  • (24/6)%%5 = 4.  The operation becomes 4%%5, which is 4.
  • 24/(6%%5) = 24.  This becomes 24/1, which is 24.

By contrast, with SQL, 9*3%5 = 2 and 24/6%5 = 4.  This means that modulo operations are handled at the same level as multiplication and division, whereas with R, modulo operations are handled before multiplication and division.

So how about exponents?  Surely exponents resolve before modulo, right?

  • 3**5%%3 = 0
  • (3**5)%%3 = 0
  • 3**(5%%3) = 9

So yes, exponents resolve before modulo.

Will Live Query Be Useful?

SQL Server 2016 is going to include a new feature called Live Query. The first time I saw it, I thought it was awesome. But having thought about it a few days, I’m not so sure I will ever use it. Here’s why:

First of all, I almost never use Management Studio for reading execution plans. I use SQL Sentry Plan Explorer for my execution plan reading. They process the plan and give it to me with more useful information and in a much easier to read manner.

Secondly, this feels like a toy. It seems pretty, but I don’t foresee any real value to watching partial data come in, especially because the flows are not guaranteed to be correct. These numbers are still based on estimates (as far as I can tell), so we will see some weird scenarios with one expected row churning and churning.

As long as there’s no performance hit, I don’t mind having this available, but this doesn’t touch my top ten favorite new features in 2016.