Wednesday, August 31, 2005

The Ghosthunters (TAPS) Were In New London, CT

Ghost Hunters (Sci-Fi Channel, Wednesdays at 8PM and 9PM) is one of my favorite television shows. I've always been fascinated by the paranormal, and these guys do a pretty good job of trying to capture proof while at the same time, not being afraid to throw out evidence if it's the least bit ambiguous or questionable.

I do take issue with the show's need of some additional technical review before being aired, because I catch inaccuracies in some of the things they say. (Example from tonight: EMF stands for Electromagnetic Field, not Frequency. The casual observer would not have caught that, but I'm just anal about little things like that). So, Sci-Fi Channel: Call me--I'd be glad to help. ;-)

Getting back on topic...

Tonight, they visited Ledge Light, a lighthouse in the harbor of New London, CT (3 white, 1 red flash every 30 seconds for anyone near the harbor). No ghosts were found (seems to be a trend with this show). But, New London, CT.... Hmm, that's interesting.

The Godfather of podcasting himself, Carl "Buzz" Franklin, records .NET Rocks and Mondays from his studio in New London. (I became a big fan of Carl's due to trying to catch up on 100 episodes of DNR over the span of 10 weeks).

So, like mixing peanut butter with chocolate, here were two different elements of my life coming together for a brief moment in time, and it was all good for me!


Update 10/06/2005: How cool to discover that on MSN search, this post became a #2 result for the show, right behind the official TAPS homepage. Well, it's #2 if you spell Ghost Hunters as one word instead of how Sci-Fi spells it, which is two words. (I only found out because I started seeing a lot of hits in my stats from people using search terms "ghosthunters taps).

Like I said above, I'm a huge fan of the show (shoutz out to Jay and Grant and team), and next week's episode even takes place about 2 hours drive from my home (at the Mansfield Reformatory in Ohio--the same place where Shawshank Redemption was filmed, as well as a scene from Air Force One).

Lightbulb Just Burned Out

Our range hood (above the stove) has a light in addition to the exhaust fan. That location serves as a convenient night light, so we tended to just leave it on all of the time (at first by accident, and then because we were used to always having a light there).

The problem was that we were only getting a couple weeks worth of life out of regular light bulbs, and only days worth out of discount light bulbs.

Three years ago, we bought one of those long-life florescent-tube-bent-into-same-size-as-incandescent-bulb light bulbs, and have left it burning 24/7 (it only uses like 5-watts, and provides same light output as a regular 60-watt bulb). Well, tonight, it finally died.

Three years, and 1/12 of the power consumption. Not a bad investment of what was $9 at the time (now they're like $3-5).

My Guitar Skillz

I've had a couple conversations with people where we've discussed guitars, and the fact that I'm teaching myself how to play. I hope I haven't misled anyone, because I actually kind of stink at playing right now. I mean, I only learned what a "G" chord was at the beginning of this year.

Someone asked me last night what style do I play. I didn't have a definitive answer at that time, but now I can say:

I basically play anything that uses combinations of G-D-Em-C.

And that's not saying much..... Though, it does let me strum through the chords of a lot of rock songs!

The one song that I do know, and can actually play pretty well, is "Be Like That" by Three Doors Down. Pretty easy song with one-string-at-a-time finger picking, and then G-D-Em-C chords (in that order) for the chorus, and some Am-Asus-C-Cmaj7 type things thrown in to make it interesting.

NWNUG Presentation

I gave the presentation last night on SQL Server 2005 to my local .NET user group. There was a great turn out, with I think 30 people total. The reviews that were collected at the end were all positive.

In retrospect, there was really too much content. But, it's hard to pick what should and should not be included because you just don't know when something is going to be of particular interest to an audience member.

I could have easily trimmed down the second half (SQLCLR), though, to make it a little less awkward. I was constantly jumping between PowerPoint and a VirtualPC to demonstrate code, and at times, the VirtualPC had swapped out some of my running programs to virtual memory, so there were awkward pauses while programs resumed, or previously-JIT'ed programs were re-JIT'ed.

If I were to give the same presentation again, I would take out the part about CLR Triggers and would even consider taking out User-Defined Types. Less is more, and in this case, it would have given the audience an even more enjoyable experience because I wouldn't have had to rush the end of the presentation.

In other news, I now have a presentation on "SQL Server 2005 T-SQL and SQLCLR" if anyone needs a speaker... ;-)


And, thanks go out to Scott Hanselman for pointing out ZoomIn on his Presentation Tips page. It turned out to be a really useful tool for allowing audience members to see small text. When I started using it, one person asked if it was something new in SQL Management Studio!

Tuesday, August 30, 2005

Fiddler Is AWESOME!

Hanselman should add this to his Ultimate Tools list: Fiddler by Eric Lawrence of Microsoft (this thing rocks!)

Why would you need something like this? To view raw HTTP Requests and Responses, for one. It integrates right into Internet Explorer, and will take care of proxy configurations on the fly (so all you do is click a toolbar button, the app launches, and then captures all requests/responses going forward for you to inspect).

When developing web applications and web services, you often need to review what is being sent to the server (including headers) and what is being received. IE doesn't really let you do this by itself, so that is where HTTP Debugging Proxies come in handy.

(Firefox users: Don't bother commenting. I can care less what's built into your browser. ;-)

Blog Comment Spam

I've turned on "Word Verification" for comments because I woke up to a pile of spam comments for the most recent post in my blog (which have been removed).

Looks like a SpamBot network is going wild at the moment, since this is the first time that my blog has been "attacked". I just wish that they were smart enough to click the Google's Adsense ads on this page!

Here's a list of offenders (if you happen to be one, then clean your machine!):


user-0cceqkl.cable.mindspring.com (24.199.106.149)
c-24-16-199-239.hsd1.wa.comcast.net (24.16.199.239)
pool-70-17-15-162.balt.east.verizon.net (70.17.15.162)
66-214-87-99.dhcp.malb.ca.charter.com (66.214.87.99)
pool-4577e1d4.dyn.optonline.net (69.119.225.212)
151.95.33.65.cfl.res.rr.com (65.33.95.151)
66-215-26-223.dhcp.whtr.ca.charter.com (66.215.26.223)
adsl-71-133-14-134.dsl.pltn13.pacbell.net (71.133.14.134)
c-24-22-102-46.hsd1.or.comcast.net (24.22.102.46)
151.95.33.65.cfl.res.rr.com (65.33.95.151)
A057132.N1.Vanderbilt.Edu (129.59.57.132)
c-67-182-160-214.hsd1.ca.comcast.net (67.182.160.214)
cpe-70-115-171-45.rgv.res.rr.com (70.115.171.45)
ip68-111-184-60.sd.sd.cox.net (68.111.184.60)

Monday, August 29, 2005

SQL Server 2005 NWNUG Presentation

Tomorrow evening (August 30, 2005 6PM), I will be presenting to the local .NET user group (NWNUG) on new features in SQL Server 2005.

It will be crammed with content, so beware! There won't be enough time to fully explore everything (which could easily be a week's worth of training), but the goal is to provide a taste of a lot of the new things that developers are interested in.

Agenda:

  • T-SQL Enhancements (Large Value Types, Row Overflow Handling, XML Data Type, TOP/TABLESAMPLE, PIVOT/UNPIVOT, Ranking Functions, and Common Table Expressions)
  • SQLCLR (Stored Procedures, User-Defined Functions, Triggers, User-Defined Aggregates, and User-Defined Types)
  • ZMachine Demonstration (ZMachine engine running in SQLCLR, exposed through CLR Stored Procedures and HTTP SOAP Endpoints)

The presentation is geared towards a technical audience, but don't let that stop you from attending! Greg has some good door prizes, and I got my company to provide some swag from their marketing closet (tchotchkes with our logo on them).

Laptop with 19" Display?

Do we really need a portable device with a 19" display? That's bigger than the monitor I use at home for my desktop!

Link: Gizmodo

Slashdot: Ice-Free Summers Coming to Arctic

I'm not sure what to think of this. The article talks about the inevitability that in coming years, the Arctic icecap will melt due to global warming.

My only contention is that the Earth has always had cyclical warming patterns. Remember back when a mile-high glacier sat on top of where I am typing right now? It was pretty cold then. And before that, this area was almost tropical. Talk about extremes...

Something happened to cool the Earth so much that we entered an ice age, and then something happened to warm the Earth so much that the ice age ended. I don't think that we can blame the Bush administration for those events millions of years ago (though, I'm sure that some Leftists would try).

Maybe industrial activity today is accelerating whatever natural warming trend was already in place, but my personal belief is that the Earth has its own agenda, and it's rather unlikely that mankind could have too much effect in changing it.

Keep in mind, also, that one major volcanic eruption that sends a lot of ash into the atmosphere will cool things down considerably (if only for a year). We'd be facing famine at that point, so I think I'd rather have things a little warm compared to being a little cool.

http://en.wikipedia.org/wiki/Year_Without_a_Summer

Saturday, August 27, 2005

Scobleizer Goes to Google

A couple of good chuckles in this comic here: Channel9

Friday, August 26, 2005

UPDATE TOP(x) Behavior Figured Out

Just tested UPDATE TOP(x) to see if I could better understand how it works:

The first (x) records will always get updated as stored on disk (i.e., by the clustered index). Subsequent updates, unless including a field that affects the clustered index, will continue to update the same records.

You can see this behavior by looking at the Execution Plan in Management Studio. Heap tables do a simple table scan, while tables with a Clustered Index will to a clustered index scan to find the x'th record.


Steps to reproduce:

1. Create a new table

USE [AdventureWorks]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[test](
[id] [int] IDENTITY(1,1) NOT NULL,
[LastUpdated] [datetime] NULL
) ON [PRIMARY]
GO
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF

2. Insert 100 records into the table. Then, set the LastUpdated field to the same value:
UPDATE test SET LastUpdated='1/1/2000'

At this point, there's no clustered index or primary key (which would create a clustered index by default), so we're dealing with a heap table.

3. Execute the following:

update top(5) test set lastupdated='3/1/2005'

No matter how many times you execute, the first 5 rows will always be '3/1/2005'

4. Now add a clustered index (non-unique) on the LastUpdated field. This will sort the records by that field's value on the disk itself. The first five rows, which were previously updated, will now move to the bottom of the table when you SELECT * FROM test

5. Now execute:

update top(5) test set lastupdated='3/1/2005'

Because the new date is greater than the original date, these 5 records move to the end of the list as well. The next time you execute this command, then next 5 records will move to the bottom.

So, the notion of breaking up a transaction into smaller chunks using TOP does not seem to be a viable solution. Most clustered indexes will probably be set to the primary key for the table, which is unlikely to be updated by your query (so subsequent UPDATE TOP(x) will continue to update the same rows).

UPDATE: The same behavior was observed for DELETE TOP(x) as well. So, I think the MS Technical Writer needs to update the SQL Server 2005 Books Online to get rid of the comment that indicates that using TOP(x) with DML is "random". So far, it looks very predictable.

Thursday, August 25, 2005

VB.NET and C# Direct Comparisons

This is awesome! A Rosetta Stone for VB/C# translation.

http://www.harding.edu/USER/
fmccown/WWW/vbnet_csharp_comparison.html

Oil Prices: Collusion?

Somebody who is more familiar with the Futures market and the oil industry explain to me how it all works. What exactly does it mean when the price per barrel is $68?

I know that the Petroleum industry is divided into two parts: Upstream and Downstream. Upstream operations are the ones surveying for new oil, drilling, and extracting oil from the ground. Downstream operations take the crude oil and refine it into various products (gasoline, toluene, plastic resin, etc).

So, we know that supply is limited. So, what prevents an oil company from using collusional tactics on the trading floor to artificially inflate prices? I'm talking about stacking up the people who are yelling out prices all day long, so instead of 1 person bidding for you, you have 10 people (though they would appear to be different companies), and each person is bidding up the price established by the person before them. In the end, the price per barrel is higher, yet the crude that was purchased ends up at the same place for refining. The Upstream operation makes a huge profit, while the Downstream operation passes the difference on to the consumer.

Are there safeguards to prevent this type of behavior? Or am I just totally clueless about how the Futures market in correlation to crude oil delivery works?

Wednesday, August 24, 2005

Multiple (Temporary) Passwords Per User ID

To the Microsoft Security Team: Here's a freebie for you.

Why not allow multiple passwords to be assigned to a single user id?

Now, I know what you're going to say: That just makes it easier to hack a password. Maybe so, but to the same degree that playing 2 numbers in the lottery makes it that much more likely that you'll win.

But, how many times have you needed to give someone a username/password to log into a system, but didn't intend for them to continue to use those credentials forever? I'm talking about throw-away passwords that would be time limited.

Here's how it would work: Consultant A needs to access your SharePoint machine as a user with administrative rights. You really don't want to do more work than you need to, so you add a temporary password to the SharePoint administrator's account that expires in 8 hours. This lets Consultant A do his work for that day, but you never revealed the actual password to them, so you're able to continue logging in tomorrow with the regular password, but they are not with the temporary password.

Monday, August 22, 2005

Family Resemblance?



Is Buzz Franklin related to Buzz Lightyear? I think I see a family resemblance...

Bigfoot in Ohio?

As covered on Boing Boing, this news story comes from the Middletown, Ohio area:

http://www.channelcincinnati.com/news/4874944/detail.html
http://www.channelcincinnati.com/video/4875005/detail.html
(updated: need to check those links before I post)

When I heard the audio, I immediately thought of a show that I saw on TLC or Discovery or something where they has recordings of similar howls that were attributed to Bigfoot.

Some samples can be found on this page:
http://www.bfro.net/avevid/SierraSounds/911.asp


Supposedly, an "animal expert" didn't recognize the howl. Me, I thought of coyotes myself, but maybe there's just a cat in heat nearby.

Playing Ignorant out of Politeness

How often do you play ignorant out of politeness to the person that you are speaking to?

Case in point:

The other day, the water meter reader was at my house. You should know that when I moved into my house 5 years ago, the city installed a remote reader (known in the water meter reading industry as a Touchpad, I guess) so that they wouldn't need access to my basement every month. This is basically some RFID-like sensor mounted outside of my house with cabling that runs to the real water meter that is inside my house. I believe that the "touchpad" serves as the antenna to the actual transponder located on the meter itself.

There was a knock at my door, and when I answered, this middle-aged bearded man explained to me that my remote sensor was not working, and that he might need to get to my meter in the basement. We've got all kinds of crap piled up in the basement (ever see the TV show called "Clean Sweep"?), so I was really hoping that he would be able to resolve the issue externally.

After 15-20 minutes of him messing around outside my front door, he finally was able to get a reading (I think he replaced the external sensor thingy-majig). He knocked on the door again, and said that we were all set. Out of curiosity, I asked him what he had to do to fix it.

He went into a semi-technical lay explanation about how RFID works and that there's a cable running between the sensor outside and the meter inside. I patiently waited for his explanation to finish, while, meanwhile, my Raviolis inside were getting colder and colder. I think I threw some polite signs of interest, like "Oh, Really" and "No kidding?", but what I really was thinking was "Dude, I've written software for microcontrollers in assembly, and have also written simulators for those microcontrollers to run my software that I wrote in assembly. I think I can grasp the concept of a RFID-like water meter reader."

It then dawned on me that other people might do the same to me. I usually have no idea whether or not the person that I might be explaining something to has any domain knowledge, and depending on their reactions, I might tend to "dumb down" the conversation. What if this person is screaming inside their head "SHUT UP! I KNOW! SHUT UP!" ??? The last thing I want to do is waste their time or mine.

How often do you find yourself personally playing ignorant just to satisfy the ego of someone who is explaining something to you?

Sunday, August 21, 2005

My First Google Weirdo

I read my referrer log this morning, and saw this search query that led to my blog:

"what can cause that your parts inside of your head string?"

Umm, I dunno. Maybe because you store "parts" inside of your head in the first place? You probably should have that looked at. X-Ray, CT, MRI, Terrahertz imaging.... Something.

Friday, August 19, 2005

Intelligent Design Debate

WARNING: Incoherent Babbling follows. I wanted to record some thoughts, so this post may or may not make sense....


How do you prove evolution or intelligent design in order to know which is correct and therefore, should be taught in schools? Why can't these two concepts simply co-exist?

Any lawyer will tell you that you can't prove a negative, and that's what creates the atmosphere for debate. Trying to prove a negative, like that ID is wrong, is like trying to prove that a species of fish is extinct: just because you can't find one today doesn't mean that they're all dead--just means that you haven't found one yet, but someone off of the coast of Australia might catch one twenty years from now.

So, you must prove the affirmative. Instead of trying to prove that Bigfoot does not exist, you must prove that it does exist. That's going to mean capturing a specimen (dead or alive) or obtaining some other form of empirical evidence.

Likewise, you can't prove intelligent design until you capture the creator....Or become a creator.

Let's say that you have hundreds of beakers full of different primitive protein structures. If you, as an intelligent being, can create a living organism from these proteins and maybe some 110VAC from the nearest wall outlet, then you have in essence proved intelligent design from that organism's perspective at least (and millions of microbes will worship your existence).

If you design that organism to be able to reproduce, and as part of that, you can observe mutations, and survival-of-the-fittest behavior, then you've also demonstrated Darwin-like evolution. AND, let's say that you're also able to create a virus that would attack your organism and drastically change its genetic makeup (i.e., adding chunks of new genetic data) so that the next reproduction cycle results in a totally separate organism that could not have otherwise "naturally" come from the previous genetic sequence. Well, now you've demonstrated another part of evolution's theory that explains extreme mutations and new taxonomy changes (Kingdom, Phylum, Class, Order, Family, Genus, Species).

The point being, that the scientific community does not support intelligent design because of the Supreme Being aspect (does not exist until you have empiricle evidence), and because Creationism basically says that all living animals were created as they exist today (and we know that mutations are very common). The religious community does not support evolution because it basically says that life spontaneously formed out of a bunch of naturally occurring non-living proteins, which evolved over millions of years to the world today (they tend to stick to the "God created Man in His image" teachings).

Me, I think I'm somewhere in the middle and actually support a little of both theories (ID is not exclusive of evolution).

Side note: It disturbs me, though, that Atheism is becoming our national state-sponsored religion. (Is the anti-religion in fact a religion in of itself? That's a totally different topic, and I'm not about to go there...).

UPDATE: I just read Slashdot, hours after writing this, and the top story is entitled: Scientist Creating Life from Scratch. Strange coincidence?

http://science.slashdot.org/article.pl?sid=05/08/19/1849212&from=rss

Tuesday, August 16, 2005

Another widespread worm/virus

ZOTOB is wreaking havoc at this moment. Sigh. I haven't been to Slashdot, but I can almost guarantee that theres 2^16 (+/- 3) posts saying "See, if you used Linux, then this wouldn't happen to you. Na-na-na-na-boo-boo."

Not that I have anything [serious] against Linux. I mean, I came from a *NIX background while in school (Solaris, actually), but then I discovered that developing on Windows (using VB3 at the time) was somewhere in the neighborhood of being 800 to 1900% easier [than doing anything with X]. And furthermore, I have written my share of sh scripts, even after discovering VB. But, I'd just rather automate using WSH and VBScript, if you want to know.

Oh, I got off the topic. I do fire up Linux every now and then to see what's new. For the most part, it's the same old type of system that I played around with in the early-to-mid 90's. I don't see many improvements to the UI, and that is what's stopping adoption by people like my parents and grandparents (a.k.a., Mainstream Adoption). Yeah, there's different Window Managers that are closer to Windows, but all seem to "feel" the same as other X environments.

So, let's say that Linux gets a kick-ass GUI that is easy enough for my grandmother to use, and it goes mainstream. Do you really think that it will remain as "secure" as it currently is? Do you think that the haX0rz will continue to attack only Windows?

Die-hard Linux folks should just be glad that they don't have the virus problems that we have. They should definitely not gloat about it, because karma is a bitch. It's only time before there will be an army of Linux bots waiting to take over the world, turning people into energy factories to satisfy their demand for more power.

What's so wrong about Microsoft.VisualBasic functions?

Sorry, I don't necessarily agree with everything said in third comment of this post. Don't get me wrong: I strongly encourage using the BCL whenever possible.

But, as for there being performance problems, that's the same logic that people are using when they say that VB.NET is slower than C#. The VB.NET team (and Carl Franklin) would take exception to that.

The reason is because this is just a .NET class library, which is really no different than if you wrote these helper classes yourself in C# and included it within your class library. I mean, do you really think that the VB.NET team would not optimize their code before releasing it to millions? Because they program in VB, they don't know how to make small code?

Also, this is the Microsoft.VisualBasic assembly, not the Microsoft.VisualBasic.Compatibility assembly that the post is discussing.

For example, let's disassemble the Right() function as C# to see what's going on:


public static string Right(string str, int Length)
{
if (Length < 0)
{
throw new ArgumentException(
Utils.GetResourceString("Argument_GEZero1", "Length"));
}
if ((Length == 0) || (str == null))
{
return "";
}
int num1 = str.Length;
if (Length >= num1)
{
return str;
}
return str.Substring(num1 - Length, Length);
}


Ok, sure, it's more efficient to just use Substring() directly. I'll give you that. But, this is an all-purpose function that every VB'er already knows. The flexibility adds a little bloat, but you can use it anywhere. Is it so wrong to link to a class library to use this function just because that class library has "Visual Basic" in it's name?

Monday, August 15, 2005

Stating the Obvious

A was reading about the tragic plane crash in Greece on CNN.com:

http://shrinkster.com/7ed

There's actually a quote in there that reads:

"'We have performed autopsies on six people. Our conclusion is they had circulation and were breathing at the time of death,' Koutsaftis said."

Ummm, duh? Because technically, you do have circulation and are breathing right up to the point of death, right? Anyone reading this still have a heartbeat and breathing despite being dead already?

Am I missing something here, or is there something profound in that Greek coroner's statement?

My Daughter the Aspiring Lawyer?

A lot of parents look for genius traits in their offspring, myself included. My 7-year old is intelligent, but probably not a genius (darn), unless she's one of those rare highly functional geniuses who have perfectly normal childhoods but still love to watch the Powerpuff Girls ad nauseum.

I mean, she reads at a higher level than her peers, yet seems to struggle with math for the time being. I was the same way at her age, except that I couldn't read nearly as well, so I'm not too worried about her subtraction skills as she enters the Second Grade.

But, it's questions like what she asked the other day that gives me some insight that she'll probably end up smarter than me, so I'd better watch out:

So, we were watching television, because that's what we do. On the screen came a commercial for CLR (the Calcium/Lime Remover product, not to be confused with Microsoft advertising the Common Language Runtime on television). They showed a "real time" side-by-side comparison of their product competing against Lime Away's product, and of course, CLR removed the calcium deposits faster than the competition.

My daughter then asks, "Does CLR have to ask the owner of Lime Away before they can show their product on a commercial?"

I was floored! I don't think I ever considered the ramifications of such an issue until I was at least in high school, and here she is coming up with that on her own.

That makes me feel a little better about my retirement plans if she turns out to be an intellectual property lawyer. ;-)

Friday, August 12, 2005

Parking Problem at Tony Packos

Toledoans: Don't you hate it when you go to the Front Street (Original) Tony Packos Cafe for lunch, and can't find any nearby parking? I mean, the designated parking lot is like a whole 100 feet from the restaurant, but it's such a pain to walk from the parking lot to the door. Perhaps you've just been overlooking the obvious.

This guy had no trouble finding door-side parking:



(that's 468 on the plate, in case you can't see it).

MaggieMoo's

We stopped by MaggieMoo's Ice Cream (at Levis Commons) last night, and, uh, what can I say..... Yummy! Freshly made ice cream, all kinds of flavors, and they'll smash in your favorite "toppings" to make a unique combination of flavors just for you.

We were in Bowling Green last night, and I got the idea to stop off there on our way home from Aaron.

My wife tells me that it's a lot like Cold Stone Creamery (479 West Dussel, same plaza as Panera Bread in Maumee), but I wouldn't know. I'm primarily a "whippy-dip" milkshake person, so hand-scooped ice cream is sort of exotic to me.

Meteors, Clouds, Mars, and Snopes

First off, I've got to say that living in NW Ohio kind of sucks. I mean, whenever there's something cool going on in the sky, you can almost bet that we're clouded over.

The Perseid Meteor Shower is currently underway (it peaked overnight, if I'm not mistaken), and we've got overcast skies. Again! (last year, same thing, and if I'm not mistaken, the year before that too).


Secondly, I hope that by now everyone has done their homework to determine if the email being sent around it true or not. What email? This one:

The Red Planet Mars is about to be spectacular! On August 27, Earth will catch up with Mars. The next time Mars may come this close is in 2287....Mars will look as large as the full moon to the naked eye...etc... NO ONE ALIVE TODAY WILL EVER SEE THIS AGAIN.... Blah, Blah....

http://www.snopes.com/science/mars.asp

It's an idea virus. Throw enough true-sounding facts into an email, send it off to your favorite email-forwarding-friend-or-relative, and suddenly the whole world starts to believe it as fact. And without checking for themselves, people forward the same email to others who they thing would be interested....

Thankfully, there is snopes.com--I use them for fact checking almost everything that comes to me via email.

They even maintain a list of the top 25 Urban Legend emails that are currently circulating: http://www.snopes.com/info/top25uls.asp

Thursday, August 11, 2005

TOP for INSERT, UPDATE, DELETE Queries?

From the June CTP SQL Server 2005 Books Online:

The rows referenced in the TOP expression used with INSERT, UPDATE, or DELETE are not arranged in any order. TOP n returns n random rows.

Random Rows: WTF does that mean?

So if I do this:

DELETE TOP (5) FROM Table

The rows deleted are any 5 arbitrary rows that it finds? They aren't necessarily the same 5 rows that I can check using this:

SELECT TOP (5) * FROM Table

I'm awaiting some clarification from anyone who replies (to this blog or my email): What good does it do to have TOP for I/U/D queries if the behavior is considered random???


UPDATE:

Drew Robbins (Microsoft DE for Ohio) replied with this:

"John Miller and Luis Gonzalez from MS gave me some great feedback. Here are two scenarios where TOP would make sense:

  • batching: one in which you don’t care about which rows qualify, you just want to break one long transaction into smaller ones
  • The extension is particularly useful when combined with the OUTPUT clause for queuing scenarios"

Pretty much what Aaron and KT came up with (see comments), so nothing new.


UPDATE 2: Click Here to see this blog post for results of my exploring the behavior of UPDATE TOP(x).

Tuesday, August 09, 2005

SQL Server 2005 Presentation at next NWNUG meeting

Only a couple weeks left before the next Northwest Ohio .NET Users Group meeting (August 30, 2005).

http://www.nwnug.com/dotnetnuke/Default.aspx?tabid=31
(unsure if this is a permalink or not)

Should be a good session. A relatively unknown local speaker will be presenting on SQLCLR and TSQL enhancements in SQL Server 2005.

Monday, August 08, 2005

Weekend Over

We spent a good part of Saturday at the actual Twins Day Festival (previous post). Friday night was just a registration check-in, weiner roast, and party. Saturday was the festival itself, which was a lot like a street fair, only with better concessions than what we see around Toledo.

Weird story about Friday, though: We arrived and parked, and then a minivan with another couple (and their twin boys) parked beside us. We walked to the registration line with them following behind us, made some small talk with the wife, and then we disappeared into the weiner roast/party.

I later went back to the van to drop some things off and grab some juice, or something. This other couple arrived back to their van, and saw that I had a Toledo Zoo membership sticker in my window. They asked where I lived, and then stated that his brother lives in the Toledo area also. We introduced ourselves (he was Bob, she was some name that I forget). In an unprecedented moment, I asked what his brother's name was, just in case I knew him. Turned out to be John. Bob and John.... Boy, this guy standing in front of me sure looks familiar....

Then it dawned on me: I worked with Bob at a Boy Scout summer camp in 1992! John was his twin brother (so putting the names together is what activated the neurons storing that fact in my long-term memory banks). Both he and his brother knew my wife, too, and when she arrived back at the van a short while later, we all talked for a bit.

Just a strange coincidence that he arrived the same time as us, and was going to leave at the same time that I happened to be back at the van. Also, it's really out of character for me to ask what his brother's name was, which without that fact, I would have never made the connection.

Sunday was spent at the Cleveland Zoo (exhibits were about the same quality as Toledo Zoo, but the property is larger with some serious terrain/elevation changes) before heading home.

Saturday, August 06, 2005

Twinsburg Festival

We travelled out to the Cleveland area last night for the start of the 30th Annual Twins Day Festival in Twinsburg, OH. While neither my wife nor I are twins ourselves, we do have 16-month old boy-girl twins.

It's kind of a surreal experience, and you're constantly thinking that the matrix has just reconfigured yourself because there's deja vu everywhere you look. And this was just the night before the festivities--today, once we finally make it there, we will be seeing A LOT more people than last night!

Wednesday, August 03, 2005

Cool Flyover Captured

There's a whole subculture of astronomy that is interested in observing man-made objects that are part of the satellite constellation swarming in orbit around earth. When a satellite (or space junk or spacecraft) is illuminated by the sun while you are in the dark, it will appear to be a bright star slowly moving across the sky.

A great site to help you locate objects is Heavens-Above.

Part of the allure of satellite observation is the challenge of being able to accurately calculate the position of the satellite, as well as the orientation of the reflective surfaces in relation to your location (does no good if the solar arrays reflect the sunlight away from you, but if they reflect sunlight TOWARDS you, then the object will appear to be very bright, and will be easy to observe). The Heavens-Above website takes care of that for you.

Another part of the allure is to accurately be able to synchronize time between disparate systems (you, Heavens-Above, NASA, and Strategic Command all need to be synchronized). The window of opportunity is sometimes only seconds long, so you need to know where to look in the sky and exactly when to look in order to find the object. If you miss the window, then you may not get another opportunity (i.e., observing Space Shuttle flyovers).

Well, some people take this whole "sport" to a much higher degree. They actually are able to predict Solar Transits of objects (when the object crosses in front of the Sun as seen by the observer), and then photograph the silhouettes of the object against the Sun (using telescopes and solar filters). That requires incredible timing, because the window of opportunity to capture a transit is extremely small.

The Space Shuttle returned to flight within the past week for the first time since the Columbia incident. Before docking with the ISS, it did a "back flip" maneuver so that the astronauts on-board ISS could examine the Shuttle for damage. Well, it so happened that an astronomy group in Germany captured the back flip maneuver during a Solar Transit! Talk about being lucky!

http://shrinkster.com/75c

DNR Roadtrip

C4rL 4nd H1z p33pZ r 74k1n' 4 R04D7R1p 7H1Z F4lL.

http://www.dotnetrocks.com/roadtrip/

Looks like the closest location to me is Nashville (4-5 hours to Louisville, and another 3 hours to Nashville... Well, looks like I'm waiting for the Northern trip!)


(L33t translator available: http://www.jayssite.com/stuff/l33t/l33t_translator.html)

Tuesday, August 02, 2005

Winforms Datagrid Scrollbars

I don't get much chance to work with the DataGrid control in Winforms (.NET 1.1 Framework), but, damn does it seem buggy!

Like, today I had some code that was databinding against a DataTable within a DataSet. The first Databind() would result in scrollbars showing, but not being "live". That is, they did not appear to have their Min/Max and Values set per the data that was loaded in the grid (so, as a result, you couldn't use them to scroll the grid to see other rows or columns to the right, etc).

The second and subsequent Databind() operations would cause the scrollbars to work normally.

My solution (or workaround, depending on how you look at it) was to make sure that the DataGrid was enabled, and to SuspendLayout() prior to the Databind(). After the Databind() and any column resizing, I just did a ResumeLayout(), and voila! Working scrollbars every time.

Chalk this one up under the "I hope they fixed it in 2.0" category.