Thursday, March 31, 2005

Let’s Go Jets

 

The headlines tonight make it look almost certain that the Metropolitan Transportation Authority’s board will vote to approve the New York Jets’ bid to build a stadium over the LIRR rail yards in Manhattan’s West 30s.  I am extremely pleased with this probable outcome and I think the Bloomberg administration was right to push hard for it.  Many people I know, and with whom I often agree on matters of city politics and policy, do not share my view on this issue and have been (and will be) very surprised by it.  What follows is a first attempt at explaining why I think the stadium initiative is good for New York and for New Yorkers.

 

Most importantly, New York City needs a convention center that equals or exceeds in size that of other major cities.  From attending industry conferences around the U.S., many of which are very far from New York, I can tell you that Javits is a laughing stock in comparison to its counterparts in other cities.  Besides gnawing at my innate New York snobbery and assumption that New York should have the biggest and best everything, this disparity infuriates me in terms of the economic misfortune it brings to this city.  Javits’ inadequate size kills our prospects for most serious convention business.  Has Microsoft ever had a major conference in New York?  Even VSLive, for the first time in 10 years, won’t be coming here.  We’re too small at the high end and too expensive at the low end.  Something needs to change.

 

I want New York hotels to have the room nights, I want New York cab drivers to have the fares, I want New York restaurants to have the revenues, and I want New Yorkers to have the jobs that a constant flow of convention and conference business can bring.  I want people who wouldn’t ordinarily come to New York to come here because a conference is in town, and I want them to discover how much fun it is here, and then I want them to come back on vacation.

 

The Jets stadium gets us a bigger Javits Center.  It also gets the Jets back to New York.  I have never been a big sports fan, but I grew up here and I went with my dad to see the Jets play at Shea.  And when the Jets left Queens to play in New Jersey, it really kind of broke my heart.  In the 70s, New York had all the “ets” teams…The Mets for baseball, the Jets for football, and the Nets for basketball.  With two out of three going to NJ, it’s just felt unnatural.

 

And another thing.  The campaign by Cablevision to scuttle this deal is one of the most cynical, dishonest, and corrupt political ploys I’ve seen in a long time.  Anyone who thinks a company based in Bethpage, Long Island gives a damn about the quality of life of residents of Manhattan’s West Side is dreaming.  Although the TV spots they ran were meant to look like they were paid for by a consortium of Chelsea block associations, they were in fact a desperate attempt by a failing media and entertainment company that is not based in New York City to protect its Radio City Music Hall and Madison Square Garden franchise.  Period.

 

I’m as troubled as anyone by the hyper-gentrification of Manhattan, and I do acknowledge that the stadium project has the potential to make it worse.  But I also know that protectionist policy to keep the West 30s a relative wasteland is wrong-headed.  And I feel strongly that many people who oppose the stadium truly do not realize how much economic activity we are losing without such a project.  Further, I have a feeling that the number of home games played and nighttime events held at the stadium will make for traffic congestion that is far less than what many people fear.  When I was a kid, I marched against Westway.  That would have caused traffic nightmares all throughout the West Side.  I can’t imagine a Jets stadium doing any such thing.

 

And a final word with regard to New York’s bid for the 2012 Olympics (another underpinning of the case for the stadium).  I think the campaign is improbable, and maybe even Quixotic.  I think having the Olympics here will ultimately make no sense economically.  I also think chances are very good that the games will go to Paris.  But maybe we should still try.  It would be a royal pain to be the host city, but I have to admit it would be fun.  And with our stadium plan in place, and the specter of labor unrest in Paris during the games, you just never know…the IOC may just decide to give us a chance.

 

But a bigger Javits is my mantra, and this project looks to me, on balance, like the best way to build it.

#    |
 Tuesday, March 29, 2005

Can't We All Just Get Along?

It’s been a while since I’ve posted here.  Part of the reason for this is I’ve been in hiding for the last 10 days learning the ins and outs of ASP.NET 2.0.  Moreover, I’ve been trying to make it all work with Oracle, and when I say “make it work with” I mean get all those fancy new data bound controls to bind to Oracle data, and to do so by calling stored procedures in packages.

The good news is I made it work.  The bad news is it’s much harder than it should be.  Microsoft’s Oracle provider doesn’t readily acknowledge stored procedures in packages, and Visual Studio 2005 doesn’t readily acknowledge Oracle’s own data provider for .NET.

In a few days, I’ll try and list all the issues, and explain how ASP.NET 2.0’s ObjectDataSource control lets you work around them and still take advantage of data binding.  I’m also going to try and get people at both companies to look this over and maybe rectify things before Whidbey ships.  Since there’s every indication that said ship date is still nine months away, this shouldn’t be too tough, but, even so, never underestimate the potential for competitors to fall short of effortless interoperability.

#    |
 Saturday, March 19, 2005

News that’s Fit

 

If you travel (or live) outside North America much you’ll be familiar with the ubiquity of BBC World and CNN International.  The latter, in James Earl Jones’ voice identifies itself simply as CNN, just as its North American counterpart, but is in fact a very different channel.  Just to the right of the omnipresent CNN logo is a small, slowly spinning globe.  And that globe means a lot: the anchor desk is based in London and the programming is much more news-heavy, infotainment-eschewing, and editorially pure than CNN in North America.  Much like BBC World, the channel follows a format of 30 minutes of pure international news at the top of the hour followed by a variety of shows on the half hour.  Many of these shows like “Diplomatic License,” “Inside Africa,” “World News Asia” and “International Correspondents” are also chock-full of interesting world news content.  Anyone who remembers and liked CNN in the 80s will feel right at home watching CNN International.

 

Whether you’re conservative, liberal or somewhere in between, if you crave a news channel that isn’t sensationalistic and ratings-hungry and focuses on serious analysis of the news, BBC World and CNN International are terrific news programming sources.  The problem is that until recently, neither of these channels was widely available in the United States (I believe BBC World is available 24-hours a day on some Canadian cable systems, however).  CNN International was available all weekend and from midnight until around 8am each weekday morning by watching CNN fn, which was off the air at that time, but not on a full-time basis.

 

But now there’s a better option.  Recently, CNN fn went dark (which is too bad, I actually liked watching it) and on many cable systems, including Time Warner Cable’s DTV digital cable service in New York, CNN International has replaced CNN fn and is now on 24 hours a day.  On Time Warner in New York, you can tune to channel 133 and watch CNN International whenever you want.  If you think of it, at the top of the hour, tune in and see what you think.  If you’re serious about your news, this could become habit forming for you.

 

If you can’t get CNN International, or even if you can, you have another option for hard world news.  Many of the news half-hours from BBC World are carried on BBC America (a digital cable/satellite channel) and many PBS stations.  If you’re a news junkie and you have a DVR, you can do what I do: tell your machine to record all airings of BBC World News on all channels, saving only the one most recent recording (you may want to give the recording a relatively low priority so that it doesn’t pre-empt other recordings you’ve programmed in).  This way, you’ll always have a recent half hour of world news near the top of your recorded shows menu, and you won’t use more than a half-hour’s worth of hard drive space on your DVR. This approach works quite well, especially in markets like New York, with a number of PBS stations (including new digital-only PBS channels).  Here in NY, if you have digital cable, BBC World News airs on a total of five different channels.

 

By the way, both channels have their own Web sites.  BBC World’s is www.bbcnews.com, which redirects to http://news.bbc.co.uk/.  Unless you’re in the U.K., you’ll probably want to select the World Edition.  And speaking of selecting the World Edition, you can configure CNN’s main home page, www.cnn.com, to display CNN International’s content by clicking the International Edition link on the upper-right of the home page or by pointing your browser directly to http://edition.cnn.com.  Oh, and check out BBC World's front page RSS feed hereNews junkies of the world, unite!

#    |

Microsoft ISV Community Days Slides and Code

Code and slides from my Thursday 3/17/05 Lunch and Learn session can be found here.  The Projects and WebSites folders within the zip contain sub folders which should be copied into the My Documents\Visual Studio 2005\Projects and My Documents\Visual Studio 2005\WebSites folders respectively.  The SSProjTestScripts folder should be copied into the My Documents\SQL Server Management Studio\Projects folder. Throw the PPT wherever you please.

All code has been tested under the February CTP releases of Visual Studio 2005 and SQL Server 2005.  The three Visual Studio projects demonstrate SQL Server CLR techniques, ASP.NET data binding, and numerous ADO.NET 2.0 and Windows Forms data binding tricks (including binding to objects).  The SQL Server Management Studio project contains numerous scripts that manipulate and use the CLR stored procedure and User Defined Type implemented in the SQL CLR Visual Studio project.

#    |
 Monday, March 14, 2005

Techie Toilet Humor

Fellow RD Scott Hanselman and cohort Rory Blyth have created a rather off-beat Tech*Ed 2005 promo video.  I would rate it somewhere between PG and R.  More are on the way, apparently, but check out the first one here.

#    |

SQL/VS 2005 February CTP Code Changes

I've been playing with the February CTP of both Visual Studio 2005 and SQL Server 2005 this weekend.  One of my exercises for the day was trying to get a Visual Studio SQL Server CLR project that I wrote for SQL 2005 Beta 2/VS 2005 Beta 1 to compile.  The project has a stored procedure, a UDT, and a stubbed out function, aggregate and trigger.  I couldn't get this to compile in the VS December CTP, but I was determined to get it to compile in the new February CTP.

I got it to work, though not easily.  I found that some of my code was using constructs that are now deprecated (that was fast!) and I also encountered a few compiler and deployment errors.  In reverse-engineering the latter, I discovered that CLR UDTs and Aggregates now must be implemented as structures, rather than as classes.  With hindsight this makes sense but it's a rather stark change...now (it would appear) you can no longer store "objects" in the database.  Of course, nothing stops you from serializing a .NET object as XML and storing it in an XML column, but that's another story.

Here are a few other changes I "discovered" (I use quotes because these changes are in fact documented on other SQL Server-oriented blogs like Bob Beauchemin's and Wally McClure’s and that's how I worked my way through them):

  • The SqlContext.GetPipe method is replaced by the SqlContext.Pipe property.  This is extremely important because it is through the returned SqlPipe object that you can send data and text back to a client from a CLR stored procedure.
  • Likewise, the SqlContext.GetConnection method is replaced by SqlContext.Connection property
  • The SqlConnection.CreateCommand method is effectively replaced by SqlContext.CreateCommand method (making less necessary the use of the SqlContext.Connection property, described above) 

I also had the darnedest time getting even the stubbed out trigger to deploy.  Since my CLR project points to the AdventureWorks database, I defined the code as a FOR UPDATE trigger on the Production.Product table, using the SqlTrigger attribute and it just wouldn’t work.  As best I can tell, this attribute will not work on a namespaced table!  When I pointed the trigger to the non-namespaced “DatabaseLog” table, everything worked fine.  Since that’s not a table I would want to create my own trigger on, I worked around to the problem.  I removed the SqlTrigger attribute altogether, compiling the code as a plain VB Sub (function in C#), then after deploying the assembly, executed the following T-SQL code:

Create Trigger trgInsertTest

On Production.Product

For Update

As External Name [SSProjTestFebCTP].[SSProjTestFebCTP.Triggers].[trgInsertTest]

 

If anyone knows how to get the SqTrigger attribute to work with a namespaced table, I’d sure like to know.

 

#    |
 Tuesday, March 08, 2005

Project Green: Build vs. Buy

 

Microsoft recently announced a “realignment” (for lack of a better euphemism) of its Project Green and its Microsoft Business Framework (MBF) technology plans.  Project Green is an initiative to foster the gradual union of the disparate product lines of Microsoft’s Business Solutions (MBS) division.  MBF is an initiative around making the technology that will theoretically be common among these products into a rich developer platform, and one that is, in effect, an extension of the .NET Framework.

 

It sounds good, but it’s also taking a long time.  With the benefit of hindsight, it shouldn’t surprise us that four acquired product lines (Great Plains, Solomon, Navision, and Axapta)  can’t just click together like Lego blocks.  Furthermore, users of these products and ISVs that are devoted to them are not content to wait for such a “big bang” initiative to bear fruit before the products get upgraded.

 

So Microsoft has now announced that Project Green will consist of two phases. The first phase, starting now and running through 2007, will involve upgrades to the existing MBS products and some modicum of we might call confederation between them.  The second phase, with deliverables due to start shipping in 2008 (yes, you read that right), will involve a more fundamental unification of the products and deployment of the MBF .NET building blocks (which by then might be called WinFX building blocks).  While forcing Microsoft to eat some crow, this modified strategy and timetable seems much more pragmatic to me.  But it’s also a long time to have to wait, especially in the world of technology, and it’s probably going to be a tough sell.

 

My guess is that Oracle, with its Project Fusion, will face many of the same challenges when it comes to rationalizing the code bases of JD Edwards, PeopleSoft and its own ERP applications.

 

The shakeout we’ve seen in the ERP/CRM space, and the idea of companies consolidating their market position through acquisitions, begs an important question.  In the long term, is it better to build than to buy?  Usually IT shops ask this, but now it’s the large software vendors that must ponder this question.  Is it realistic to buy a product if you really want to just buy its customer base?  Can you shunt these customers over to your own technology easily?  Can you ever really phase out the old stuff without alienating these customers?

 

I do wonder.  Seems like Microsoft’s purchase of Fox Software more than ten years ago provides some evidence to the contrary.  Wasn’t FoxPro supposed to be put out to pasture after version 3?  Aren’t we now at version 9?  The FoxPro customer base is a strong lobby indeed.  Has FoxPro been retrofit into the rest of the Microsoft stack?  While it was part of what was Visual Studio, it’s certainly not part of .NET.  Is this all a bad omen for Project Green?

 

I do hope that Project Green, in some capacity, succeeds.  I do think that, in some measure, it’s feasible, sensible and meets a legitimate need.  The concept of business applications as true development platforms, not based on proprietary languages, and not isolated from mainstream development capabilities and facilities, is a good one.

 

The question is whether this concept is best pursued by buying several products, trying to cherry-pick the best features of each, and combining them with each other and a pre-existing technology stack.  Good products have loyal and enthusiastic customer bases, and acquiring these products means acquiring responsibility for the “care and feeding” of these customers, while trying to create something new for your old customers.  That creates conflicts of interest, frankly.  And it will be interesting to see how Microsoft and Oracle (and Bill and Larry) deal with these conflicts.  I think it will be difficult for both companies.  I also think the outcome will have an impact on how future industry acquisitions are conducted, managed, and have their success measured.

#    |
 Sunday, March 06, 2005

Netscape 8.0: Reliant on Internet Explorer?

 

My RD colleague Venkatarangan mentioned to me that he downloaded the new Mozilla FireFox-based Netscape 8.0 Beta and discovered that it allows users to pick between the Netscape and IE “rendering engines.”

 

Sure enough, if you click on the Site Controls (shield) icon on a specific tab in the browser, you’re offered your choice of Rendering Engines at the bottom of the dialog:

 

 

This is quite convenient, especially because Netscape remembers your preference the next time you visit that particular site. But it’s also quite intriguing, in that Netscape seems to embed the IE browser control in its browser. The irony is striking: if Netscape had succeeded in getting IE ripped out of Windows not so many years ago, its newest browser wouldn’t even run! 

 

By the way, the support for IE is pretty robust.  If IE is selected as your rendering preference, and you click on the Advanced tab in the above dialog, you’ll be able to turn ActiveX support on or off!  But lest you think that AOL/Netscape and Microsoft are making nice, beware of the following warning box that the Netscape guys chose to display when users select IE as their rendering choice:

 

 

Pretty sophomoric, eh?  It’s nice to know some things never change. :-)

 

Looking past Netscape’s industry-politics-hypocrisy, I must admit I like the browser.  Even if the whole UI is quite busy, the tabbed interface is beautifully integrated, the Sidebar, the Multibar and its trays collection are quite handy, and the now requisite pop-up blocker and form-fill/password minder seem good (haven’t played with them much yet though).  I look forward to checking out the integrated RSS functionality.  I’ve read that Netscape 8 is a bit buggy, but in my admittedly cursory review of it I’ve haven’t stumbled across any anomalies yet.

 

Good thing Microsoft decided to come out with an IE7 beta this summer.  I expect major improvements in it (and was briefed via conference call on many of them on Thursday), but beyond playing leap-frog, my hope is that Microsoft never lets the browser go this long without an update again.

#    |
 Tuesday, March 01, 2005

"Windows in the Living Room" Deconstructed


Today, over email, I found myself advising my wife’s friend on a potential Windows XP Media Center Edition (MCE) PC purchase.  In the course of all this, he asked what seemed like a simple technical question, but I realized later than it has wider ramifications.

 

His question was whether an MCE PC could replace his stereo receiver.

 

People familiar with this product line understand that MCE machines can integrate digital music and photos into their living room/home theater setups, and that they have DVR/PVR (TiVo-like) capabilities as well.  People more familiar with the products know that MCE machines can also replace their CD and DVD players, and even their FM tuners, and they can act as CD and DVD recorders.

 

But depending on the model you buy, you can also run stereo speakers, or even surround sound speakers (my HP z545 actually has 7.1 speaker outputs!) directly from the MCE machine.

 

So as long as you’re comfortable dispensing with AM radio, audio cassettes, and VHS (and assuming you’re satisfied with your MCE PC’s digital-analog converter), MCE machines can act as thoroughly integrated AV/digital media devices in a single box.  This makes these devices much more cost-effective than they might at first seem and I think it’s worth considering the fact home entertainment could evolve in this direction. 

 

And that could be a huge opportunity for Microsoft.  It could take them beyond the early adopter gadget freak market into the mainstream of consumer electronics.  And rather than just being an also-ran, Microsoft could have a killer product and a big, new revenue stream.

 

If Microsoft is serious about this market, they need to do a number of things to make the MCE devices have broader appeal.  Here’s a top ten list off the top off my head.  I may post more as I think of them:

 

  • 10. Add Dolby Pro Logic for enhanced sound on 2-channel audio sources.
  • 9. Add support for DVD Audio and/or SA-CD.  The latter would require MS and Sony to make nice…no easy task, but I think BillG wants it to happen.
  • 8. Add DTS decoding capabilities for a better DVD experience (my MCE box has Dolby Digital built in, but I have to use the digital audio output into my AV receiver to get DTS decoding).
  • 7. Add aux A/V inputs so old fogies like me can hook up their VHS decks, tape decks and turntables.
  • 6. Add top-notch digital-analog conversion.
  • 5. Strike OEM deals with audiophile manufacturers.
  • 4. Consider a retail partner program akin to the authorized dealership programs many home entertainment brands have (imagine a Microsoft-certified installer coming to your home to set up your gear).
  • 3. Add true HDTV support, not just through antenna signals, but by offering component video and DVI inputs (I know, I’m pushing it here).
  • 2. Consider, as with the Xbox, building a dedicated software environment for Media Center devices that is not based on Windows XP.  To work in most peoples living rooms, these boxes shouldn’t require the kind of maintenance and patching Windows does.
  • 1. (drum roll…) Realize that the living room is a major front in the battle against Linux.  TiVos are Linux-based (and they work very, very well) and HP has announced that they will introduce new media computers that are Linux-based.  If Microsoft wants to beat Linux, they need to look beyond the data center!
#    |