But If You Plug In Phony Bullshit Numbers, It All OK!

Looks like the hypocrosy is running wide and deep @ the NHLPA. After claiming for months that the NHL’s numbers are “fundamentally flawed”, they claim to have pluged those very same numbers into the NHL’s forcast projects and “proved” a difference of nearly a billion dollars, from losing $569 million over three years to making $412 million. Wow, if that’s true, that’s some pretty shitty math by the NHL. Of course, it’s complete bullshit.

The NHLPA’s argument rests on the projected revenue and player cost growth for the next three years. The NHL projects that revenue will rise at 3% per year while the players claim the NHL’s own historical numbers suggest that revenue will rise 7.8% per year. And it’s true that over the past five years, the NHL’s Y/Y revenue growth has been 7.8%. Of course, during that time, there has been three new teams added as well as TV contracts that have come and gone (the current NHL TV contract w/ NBC is worth much less than the previous one with Fox). If you look at just the past four years – a much more relevant time frame – revenue has gone up between 4.3% and 6.4% per year. Given the effect of the lockout, I’m thinking 3% is a pretty good estimate.

The NHLPA goes on to argue that the NHL’s own numbers suggest that player salaries will only go up 7.3% rather than the 12% the league suggests. Again, the 7.3% number for five years is accurate, but if you at the player cost growth for 01-02 and 02-03 the increase was 11.6% & 11.8% Y/Y. (03-04 was a paltry 1.8% Y/Y increase, but I would attribute that to the looming lockout.) What’s really scary is that in 01-02 and 02-03, total player costs went up more per year than in the two years prior when new teams joining increased the total number of player jobs! In 00-01, when two new teams (around 50 new players) joined the league, total player cost went up $121 million. The following two years, when no new teams were added, total player cost went up $127 and $144 million respectively. Gee, looks like the 12% estimate is pretty close to reality too. Plus, the league admitted that the player cost growth might drop as low as 9% based on the 24% salary rollback and other deflators the players proposed. But last I checked 3% revenue growth + 9% player cost growth = bad news for the owners in the long run.

I’m thinking the NHLPA has a bunch of excel users punching in random historical data into the model to see what provides the best outcome for the league. In their “rebuttal”, they keep switching their historical model - first they use 10 year historical revenue growth numbers, then they use five year historical revenue and player cost growth numbers. Then, in their final chart uses an unprovided player cost growth estimate that is actually marginally higher than what the league is projecting, cutting the difference from the NHL’s projection in half to $440 million.

If they can’t even keep their story straight on their web page, do they really expect to fool anyone else with this Enron-esque number crunching?

More Transparency…But I’d Like To See More Still

I saw a post on TSS.NET pointing to the Outlook 2003 Integration APIs:

Microsoft has released former “internal only” APIs for developing applications that work with Microsoft Outlook. The APIs include account management, connection state, free/busy, MAPI-MIME conversion, and the Outlook store.

I have no idea why these APIs have been released at this time, but providing more options/control/tools to developers is better than less – along the same lines of the ASP.NET 1.1 Membership Prototype.

My only issue is that not all the APIs are documented. For example, recently I was interested in being able to progammatically set Outlook’s online/offline status. When I read the post above, I thought the Connection State API would be the answer. Alas, that API can only be used to get notification when the connection state changes. Or, at least, that’s all that’s documented: the IMAPIOfflineMgr interface has seven undocumented methods and the IMAPIOffline interface has two. I’m sure there’s a good reason those others aren’t documented, but it’s frustrating all the same.

Of course, even with the ommisions, that’s a lot of cool stuff to add to Niobe. Simon?

Well, There’s Always Minor League Hockey

So the latest round of negotiation has come and gone with little change. The players offer an eye-popping 24% salary rollback and a yawn-inducing luxury tax system that doesn’t even kick in until $45 million and doesn’t really get serious until $50 million. (The current average team payroll is around $46 million.) The league offers with a predictable salary cap that they have said they need since day one. (They appear to be losing hundreds of millions of dollars per year at the current average team payroll.) Both sides walk away blaming the other side. And Tampa Bay edges that much closer to being the current Stanley Cup Champions for two years without winning back-to-back titles.

I’m still with the owners on this. I’ve seen a few reporters suggest that the players are the only ones giving back in these negotiations. Scott Burnside of ESPN wrote “Both sides have taken steps toward a compromise — the players’ step a stride, the owners’ step a shuffle.” Of course, it’s the players who’ve been making out like bandits under the previous CBA while owners have been getting the screw. Jim McKenzie of the Nashville Predators predicted no hockey until 2006 and then went on to point out that he “would not be where I am now if 10 years ago the [players] had given in [to a salary cap]“. But then he points the finger at the league for their graduated roll back proposal: “They’re like ‘Don’t worry about it. You’re going to get your money.’”. So which is it Jim? Are you worried about getting yours or aren’t you?

Chris Pronger of the St. Louis Blues also predicted no hockey until 2006. Pronger said that “Probably December of ’05 and going into January ’06 we’re going to be in the same position we are in now, trying to come to a resolution.” I’m not sure what’s going to happen then that will resolve this – will the laws of economics suddenly change or will the players union wake up? Personally, I don’t think there will be hockey until 2006 either. We lose this whole season from the lockout and most if not all next season with legal wrangling after the owners eventually declare an impasse.

Will there be anything more disingenuous than Bob Goodenow saying something like “We’re suing the league to protect its integrity” or some shit like that?

MSDN2′s Hackable URLs + MSN Toolbar

This is just too cool:

You can also use a $w to indicate a parameter.  For example:

@msdn2, http://msdn2.microsoft.com/library/\$w

…and then you can type msdn2 System.String – for the easiest way to lookup classes in the MSDN2 library.

[Simon Guest – Off Topic: MSN Toolbar Suite]

Spelunking Service Broker – Dialogs

The simplest way to describe SQL Service Broker is “message queues in the database.” If the queues are tables in the database then you can do your entire message processing using a local transaction. If you use a separate queuing technology like MSMQ, you can still pull items off the queue, update data in the database and send out messages in the scope of a transaction – it just has to be a distributed transaction. Being able to use a local tx gives us a big performance gain. But, while important, this perf gain isn’t the most compelling reason to use SSB. It turns out that SSB provides important semantic messaging benefits in addition to perf benefits.

If you study at the semantic messaging model defined by message queuing systems such as MSMQ, MQ Series and WS-RM you’ll notice that it is inherently one way. Section 2 of the WS-RM spec defines the reliable messaging model to be between a source sending the messages and a destination receiving them. The problem with this model is that as message patterns between services gets richer, we’re going to want bi-directional reliable messaging. SSB calls this a dialog.

Before you can send messages between services in SSB (assuming everything’s been configured), you first have to BEGIN DIALOG and provide the initiating and target service, plus the message contract (more on that in a later post). Note that it’s called initiator and target, not sender and receiver. Either side of the dialog can send messages to the other as part of the contract by using SEND ON CONVERSATION – the only requirement is that the initiator sends the first message (hence the name “initiator”). All messages are guaranteed to be delivered exactly once and in order, or both sides of the conversation are notified of the failure and the dialog is torn down. I’m not sure if it guarantees in-order delivery of messages in opposite directions. There are cases where this might be important – I send an order cancellation as I send you a shipping notification – but typically there’s a business reason for who “wins” such a conflict. In this shipping/cancellation example, even if you sent me the cancellation before I sent shipment notification, it’s not like I can recall the shipment.

My only issue with this bi-directional reliable messaging is that I’m so used to thinking in terms of one-way RM that it’s taking me a while to wrap my head around it. Many of the sample interactions I come up with are simple patterns where the target simply acknowledges the incoming message. Order processing is a good example where I may get meaningful messages (i.e. not simple acks) coming from both ends. What are some others?