"So they told me that using the download page to download something was not something they anticipated."

--Bill Gates 

About once a day I was getting the following error from an ASP.Net web page that uses ActiveRecord:

Exception Details: System.Data.SqlClient.SqlException: A transport-level error has occurred when sending the request to the server. (provider: TCP Provider, error: 0 - An existing connection was forcibly closed by the remote host.)

I would subsequently get this error upon refreshing the page:

Exception Details: System.InvalidOperationException: ExecuteReader requires an open and available Connection. The connection's current state is closed.

I finally figured out that the problem occurs when the database is restored.  The connections in the IIS application pool do not get destroyed when the database is restored, so when ActiveRecord (nHibernate) tries to reuse the connections it fails.  This doesn't happen to me when I'm not using ActiveRecord, so I'm not sure if this is a bug with ActiveRecord or a problem with the way I've set up the data access layer.

Band names for programmer geeks (feel free to use these, unless they already exist and are copyrighted):

  • Asskey
  • The Lazy Loaders
  • CMYK (more for graphic artists, I know)
  • nRock
  • BSODeathmetal
  • Unicoder Manifesto
  • Fist to Five
  • Gates of Hell (that one's for Microsoft programmers specifically)

If geeks ruled the world:

  1. Professional sports teams, if they existed, would have mascots like the Orcs, the Elves, and the Supernovae. The Giants and the Pirates could keep their names, and possibly the Blue Devils (though due to statistical improbability, Duke would not be allowed to be in the Sweet 16 so often).
  2. All surnames would have to be pronounced as they are in their country of origin (e.g. Favre would be Fov-ruh and Mao Tse-Tung would be unpronounceable).
  3. Wars would occur between the cybergeeks and the envirogeeks. The weapons would consist of twenty-sided dice and solar-powered Laser Tag guns.
  4. There would be KSL programs (Klingon as a Second Language).
  5. I would be a very high-ranking officer!

Apparently you have to watch out when you select Materialize in a referenced dimension in SSAS 2005.  I just ran into a situation where data was getting duplicated for no good reason, and unchecking Materialize fixed it.

http://www.biblogs.com/2006/12/23/materialize-option-in-a-reference-dimension/

I was trying to create an MDX drillthrough this morning in my SSAS 2005 cube, and I got this error:

Errors from the SQL query module: The attribute 'Applicant Name' in the dimension 'Dim Candidate' is outside the granularity of the measure group 'Fact Requisitions' and cannot be returned as a column.

I only got one result from Google for that error message and it wasn't helpful at all.  After trying a million different things with partitions and actions and whatnot, I finally figured out the problem:  I was trying to return drillthrough data from a fact table other than the one containing the default measure.  Once I threw in a measure (in the SELECT part of the query, not the RETURN) from the non-default fact table, everything worked great!

So you're trying to add a fact table to a cube that you've already created, but you can't figure out how to do so without recreating the cube from scratch?  Here's what you do:  In the Measures pane in the Cube Structure tab, right-click and select New Measure Group.  Then select the fact table, and voila!  (This is assuming you've already put the fact table in the data source view.)

addendum:  Looks like the standard way to add a dimension to the cube is to right-click on the cube name in the Dimensions window in the Cube Structure tab and select Add Cube Dimension.

 

I just spent over an hour trying to figure out why my data tables were correct but I was getting an error about an attribute key not being found (i.e. an unlinkable foreign key).   I finally figured out that processing one dimension at a time before processing the cube can get fix whatever is out of sync.  [Right-click on the dimension in Solution Explorer to process it separately.]

Why doesn't the .Net framework have anything that lets you set a maximum CPU usage for an application?  Is it something Windows can't handle?  I'd really like to be able to say, "I don't care if this app gets stuck in a loop or whatever, it will never get above 25% CPU."

Is the SQL Server 2005 splash screen supposed to look like Arkanoid or like Tetris?

If you're using telerik's RadGrid and you're seeing a message in the UI that says "Drag a column header and drop it here to group by that column" and you want to hide that message, here's what you do:

myRadGrid.GroupPanel.Text = "";

This page just confused me rather than helping me:

http://www.telerik.com/community/forums/thread/b311D-mdedg.aspx

I'm curious what people think is that fastest way to show SQL Server data in a web page.  Assuming you create the virtual web in IIS yourself, I'm hoping somebody knows of something that lets you create an xml file with connection settings and a query file, then the product automagically puts the data in a grid on the web page.  Granted once you're used to Visual Studio it doesn't take terribly long to do such a thing, but I'd still like something faster, maybe something that can automagically create graphs too.
I've said it before and I'll say it again: setup and login are not verbs!  If you want to use them as verbs you must split them into set up and log in.  It really fascinates me how often I see these terms used incorrectly, though if English is not your first language that's a pretty good excuse.  Oh, and the same goes for backup and back up.
I now believe that anyone who is developing an ASP.Net application and is not in an extreme time crunch is crazy not to use Ajax.

I got back a few days ago from an incredible trip to Greece and France.  My girlfriend Lisa and I flew into Athens, spent a day there, then went to three Greek islands.  Then Lisa went to hang with a friend in Italy for a week while I went to Paris for two days.  It was an incredible trip, I highly recommend it.  I do recommend making a map/list of all Internet stations in the places you'll be visiting before you leave.  While they were easy to find in the main towns in Greece, they were very difficult to find in Paris.  I was able to connect my PDA to the Pompidou museums free wireless Internet and send some emails, and I think the City of Paris might offer free wireless Internet in a few places, but I wasn't able to find them (I didn't have my PDA on the whole time I walked).

The first island we stopped at in Greece was Mykonos, the party island.  The Chora (a.k.a. Hora, main town on the island) there was fantastic, really beautiful with cobblestone walkways between whitewashed two-story buildings.  It was very crowded though, and sort of loud at night.  Plus you take your life into your hands walking anywhere in Greece (or Europe really) with the way people drive.  In the afternoon we took a bus to Agios Ioannis, a super nice beach that was pretty laid back.

The second island we went to was Naxos, a more laid back island.  We rented an ATV and drove around the southwestern quarter of the island, which was incredibly fun.  The Chora there is really nice too.

The last island we went to was Santorini, well known for being a beautiful caldera.  Oia was awesome, Fira was cool, and Perissa was a fantastic beach.  We rented an ATV here as well, which I highly recommend.  We stayed in Kamari, which is a really nice beach town, but the beaches there are made of large rocks instead of small sand, and as you get in the water you have to pass by several feet of slippery solid rock, and I'm amazed I didn't fall and break my arm.  I'll post pics of Greece when Lisa gets back with those pictures.

Even though I only had two days in Paris, I saw almost everything I wanted to see, and it was wonderful.  I only experienced one instance of snobbery (don't eat at the Montecristo on the Champs-Elysees, the food was average and the service was terrible).  Here are my pictures from Paris:  http://picasaweb.google.com/alex.bransky/Paris2007