Daily Archives: December 6, 2004

EBay drama

Rich and I were bidding on a pair of Sherpa Snow Shoes with step in bindings. They have stopped manufacturing them (ummm out of business) and we have been trying to get some for two years. A pair came on ebay for $60. We were the only bidder at $60 for days and days. Of course, when there were only 4 minutes left, a “sniper” appeared. (I have also sniped before successfully…so I am not saying there is anything wrong with it.) I was upstairs watching and refreshing, over remote desktop to my computer downstairs. When I saw that the person had overbid my max, I went to put in a new maximum bid. It asked me for my password again. That was downstairs next to my computer. I have a broken foot and am on crutches and there were only 3 minutes left! I managed to get down the stairs without killing myself. I had to get the screen warmed up, log back into my windows session and enter the password. I managed to do this with 20 seconds left. I had to raise my maximum 2 more times and managed to get them! Oh the pounding heart! But I really wanted them! I have a pair of Sherpas with lace up bindings because I did not have crampon compatible hiking boots at the time I originally bought them. Now when Rich and I are winter hiking, it takes me about 10 minutes to get into my snowshoes, so I have been really wanting these for years. Sometimes Rich lets me use his and he uses mine so he doesn’t have to wait for me (he can lace ’em up faster) Hooray!!! These are fantastic showshoes. I have no idea why they went out of business.

Posted from BLInk!

ADO.NET 2.0 Hypothesizing vs. testing

One of the new features in ADO.NET 2.0 is the DataTableReader. I read about this and invented all kinds of great uses for it in my head. The DataTableReader is a firehose from a DataTable or DataSet, much like a SQLDataReader is from a SQL Database.

I dreamt of ability to disconnect the DataTableReader from it’s source and move it around. Thus having a really light weight version of the data much in the same way many of us will stream SQLDataReader (or other) into an array or some other object to move it around without any extra overhead. But I was so wrong – really misunderstanding this class because I hadn’t CODED anything with it, just read the documentation and hypothesized.

Actually DataTableReader is pretty cool. Not only do you have a new great way to iterate simply through a datatable or dataset, but it will really stream the data live.

Example – you create a SQLDataReader and halfway through reading through it, someone deletes a record in the database that is ahead of where you are in the stream. The SQLDataReader won’t reflect this change. If someone wants to delete a record that is before that point (I have only tested this by literally opening up the database), they can’t.

With the DataTableReader, if you have some asynchronous work being done, someone can possibly add or delete rows and the DataTableReader handles this really nicely. If you add or delete a row that is before the iterator’s row pointer, the row pointer will not be affected (I tested this) and if you add or delete a row after the row pointer, that change will be reflected as you continue to iterate through the rows. Suh-weet!

I also checked to see what would happen if you created a DataTableReader from a DataSet and then mid-stream, added a new DataTable to the DataSet. This does NOT get picked up by the DataTableReader.

Posted from BLInk!