Scott Hanselman

Blogs and Opinions - "Viewer Mail," an icky way to end the year? Or a good way to start the New Year...

January 01, 2005 Comment on this post [6] Posted in Africa
Sponsored By

Well here's an interesting thing, considering that this is a technical blog.

Last week I wrote a post on how I was offended at CNN's posting of a picture of a white face on their home page when ~20,000 non-whites were dead (>120,000 now, likely 150,000 soon and one third were children). I felt, and still feel, that it was an ethnocentric decision by CNN.

Since, for whatever reason, CNN has posted more sensitive pictures, but not before they did two days of coverage on a Sports Illustrated Swimsuit Model who survived and a whole story on celebrities affected.  Certainly I wasn't the only one who noticed this, and a number of people mentioned it to me, both publically and privately. The Progressive Magazine did an article in the same vein as my post called "NYT says Tsunami Kills White People Too."

A U.S. government site has quote from President Bush about relief aid.

[For example], in the year 2004, our government provided $2.4 billion in food, in cash, in humanitarian relief to cover the disasters for last year. That's $2.4 billion. That's 40 percent of all the relief aid given in the world last year, was provided by the United States government. No, we're a very generous, kindhearted nation.

The interesting things are the $2.4B the government gave this year to humanitarian relief (it doesn't say if it include the Tsunami $350M), and the statement that it was 40% of all relief give in the world. It's good we gave more that any country in the world, considering that our GDP is nearly 11 MILLION MILLION dollars, almost double our nearest competitor, China, and almost greater than the entire rest of the top ten.

The government aid was originally $4M, then $35M on the third day (the same amount pledged by the Pzifer corporation alone) and today was upp'ed the amount of government-pledged aid to $350M. This number will likely change as the death toll rises. This is in comparison to the $13.6 Billion that has been pledged for Florida Hurricane relief. In another comparison, Bill Gates and his wife gave $168M last year to Malaria research alone and another $42M this year.

Anyway, I received this email today in criticism to my earlier post on CNN's ethnocentric news focus.

Shame on you. Americans pay attention to other Americans killed in disasters partly because it hits close to home, and reminds us of how those thousands of people over there feel. America is a very empathetic country.
The Americans have given $350 million dollars to this disaster. How dare anyone criticize them. As for media, anyone with an IQ over 50 knows never to trust the opinions of the media.
For some reason, America is seemingly the most criticized nation as far as it's moral standards and supposed "self-centeredness" goes. However, America gives 40% of the world's disaster relief funds every year. America rushes to help, and immediately orchestrates organizations for rescue and help whenever something goes wrong...
When 9/11 happened, who rushed to their side? Not really anyone, at least no other country in a heroic way. Instead, the Americans themselves took charge, and they didn't give anyone else any grief at all for not giving enough. America isn't perfect, but they do a lot of good for this world.
America has good intentions, and have proven time and time again their selflessness. Anyone who continues to criticize despite this has issues, and needs a reality check.
Either way, is your bitching about the wrong doings of American media helping this situation at all? No, but the American Red Cross is...
You're a flippin' hypocrite- and I'm not even American. Lay off, you come off as an arrogant swine.
[Heather Erickson-Sander]
I was bummed to get such negativity in my inbox so close to the end of the year. This email was so vituperous it triggered my spam filters, and I might not have seen it if I didn't fish it out.
 
A few things stood out in this response other than "flippin' hypocrite" and "arrogant swine" as I get those all the time. :)
 
"How dare anyone criticize [The Americans]." Personally, I think that there are few things on this earth that are beyond reasoned criticism. Certainly that's why I posted this critical email on my blog. Like it or not, American is big and worthy of both praise and criticism.
 
"When 9/11 happened, who rushed to their side?" Invoking 9/11, a tragic, but non-natural disaster that killed 1/50th of the people this tsunami did and that U.S. citizenry and government was capable of handling, doesn't seem like a reasonable parallel. Remember that over 1.5 BILLION was raised after 9/11, much of it by citizens domestically, more that could be distributed.
 
"America has good intentions, and have proven time and time again their selflessness. Anyone who continues to criticize despite this has issues, and needs a reality check." To be clear, I was criticizing CNN's editorial staff, but I can see how a media outlet can be confused as the face of a country.
 
Interestingly, she is cut-and-pasting variations of this criticism on other blogs under different names. I would encourage her to channel her enthusiasm towards more useful ends.
 
Greg Hughes and I have done what little we can by pressuring Bloggers and Google to donate their AdSense revenue. This has worked very well, and it looks like our little movement has taken off. Many other bloggers in other niches had the same idea simultaneously and we've received word that Google has noticed the movement and is exploring options.
 
I post this as the New Year fast approaches, and it's good to end the year on an introspective note. The human condition is overwhelming. Who are we to be blessed so? 150,000 people tragically dead today that weren't on Christmas, and expected to see the New Year themselves. 5 million people homeless today that weren't last week, but I sit here warm in my house. There but for the grace of God go I.
 
Acute and instant tragedies like this inspire people to give. Hearing that 150,000 died in a short period of time is overwhelming. However, as you enter the new year and plan your giving, remember that nearly 3,000,000 people die of Malaria every year, and 3,000 children every DAY. That's 250,000 people a month and causes 50% of the deaths of African children. Roughly 2% of Africans in Africa have AIDS, but 25% have Malaria each year. Give often and always. Give to those causes that you feel need help, but have a healthy perspective during this difficult time.
 
In conclusion, I'd like to point you to another useful thing.  India Today has an interesting currency neutral chart that suggests an appropriate level of giving based on your yearly and daily salary. I think it's more than reasonable to expect everyone who is able to give a few days or a week's pay to help assist in the worst natural disaster that, God willing, Insha Allah the likes of which we will never see again.
 
Give. I'll see you next year. I'll try to dial up the technical content and dial down the editiorials, thanks for your patience.

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook bluesky subscribe
About   Newsletter
Hosting By
Hosted on Linux using .NET in an Azure App Service

Clarity, Junior Engineers, Requirements, and Frustration

December 30, 2004 Comment on this post [0] Posted in Programming | Tools
Sponsored By

There's an amazing essay at The Spurious Pundit on "Picture Hanging." It's an allegory that explores how simple requirements in software aren't that obvious to folks who may not have context. The writing is wonderful, do check it out, it's worth your time. Subscribed.

A highlight:

You tell him to hang the photo of your pet dog, and he comes back a week later, asking if you could "just double-check" his design for a drywall saw.

    "Why are you designing a drywall saw?"
    "Well, the wood saw in the office toolbox isn't good for cutting drywall."
    "What, you think you're the first person on earth to try and cut drywall? You can buy a saw for that at Home Depot."
    "Okay, cool, I'll go get one."
    "Wait, why are you cutting drywall in the first place?"
    "Well, I wasn't sure what the best practices for hanging pictures were, so I went online and found a newsgroup for gallery designers. And they said that the right way to do it was to cut through the wall, and build the frame into it. That way, you put the picture in from the back, and you can make the glass much more secure since you don't have to move it. It's a much more elegant solution than that whole nail thing."
    "..."

This metaphor may be starting to sound particularly fuzzy, but trust me - there are very real parallels to draw here. If you haven't seen them yet in your professional life, you will. [Spurious Pundit]

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook bluesky subscribe
About   Newsletter
Hosting By
Hosted on Linux using .NET in an Azure App Service

Tsunami - Apple.com has updated their home page with links to Donation Sites...Microsoft next? Plus Indian Ocean Tsunami Satellite Pictures

December 29, 2004 Comment on this post [5] Posted in Musings
Sponsored By

Apple.com has taken mind-boggling severity of the Indian Ocean Tsunami and updated their corporate homepage to drive drive to donation sites.

It's a definite statement when a company chooses to remove products from their home page.

The power of the Net with this disaster will be realized if it's made fantastically easy to donate money to legitimate charities.

Here's some photos that show you the before, recoil and push foward of the tsunami in Sri Lanka. There is an excellent PDF analysis here.

Typical Shot (2004-Jan)

Srilanka_kalutara_beforeflood_jan1_2004_dg

Ocean pulls back 400 meters...(2004-Dec-26)

Srilanka_kalutara_beach2_dec26_2004_dg

Tsunami arrives...(2004-Dec-26)

Srilanka_kalutara_flood_dec26_2004_dg

 

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook bluesky subscribe
About   Newsletter
Hosting By
Hosted on Linux using .NET in an Azure App Service

Start a movement! Donate all your Google AdSense Revenue to Earthquake Relief

December 28, 2004 Comment on this post [5] Posted in Musings
Sponsored By

Greg Hughes and I were talking about this idea. The power of blogging isn't citizen journalism, it's the power to start a movement.

Nick Bradbury is donating his profits to the Red Cross. Kudos Nick. Let's ALL take our passive Google Adsense Revenue for the year and donate it directly to earthquake relief. Mine so far is US$-omittedduetogooglepolicy- since I started ads in June. I'm sure hundreds of thousands, even millions could be raised quickly in this manner.

To that end, let's pressure Google into allowing us to automatically donate our revenue from their side! Spread the word and trackback this link.

To me, spreading an idea like this is the power of blogging, more than citizen journalism.

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook bluesky subscribe
About   Newsletter
Hosting By
Hosted on Linux using .NET in an Azure App Service

More on Assembly Binding, Strong Naming, the GAC, Publisher Policy and Dynamically Loaded Assemblies

December 28, 2004 Comment on this post [0] Posted in ASP.NET | NCover
Sponsored By

Certainly Suzanne Cook is the definitive source for details on Assembly.Load and Binding Contexts, a black art tantamount to voodoo that few people understand. Patrick and I have been hip-deep in it lately, and have discovered/uncovered/madecleartoourselves how some of this voodoo works. Here's a (annotated) writeup from Patrick that was sent out internally. Another great resource is Mike Gunderloy's article on Binding Policy in .NET.

  • Assemblies will only EVER be loaded from the GAC based on a full bind (name, version, and public key token).  A partial bind with name and public key token only WON’T load from the GAC. 
    • If you reference an assembly with VS.NET you're asking for a full bind. If you say Assembly.Load("foo") you're asking for a partial bind.
  • However, the way this usually works is…
    • You do a partial bind on assembly name, or name and public key token with Assembly.Load
    • Fusion (the code name for the Assembly Loader/Binder) starts walking the probing path looking for an assembly that matches the partial bind.
    • Counter Intuititive: If it finds one while probing (the first one) it will then attempt to use the strong name of the one it found to do a full bind against the GAC.
    • If it’s in the GAC, that’s the one that gets loaded.
    • Any of that loaded assemblies will try to load from the GAC first without going to the probing path, since the embedded references constitute a full bind.
    • If they aren’t found in the GAC, then it will start probing.
    • It’ll grab the first one it finds in the probing path.  If the versions don’t match, Fusion fails.  If they do match, Fusion loads that one.
    • So, if you specify a partial name, and the file is in the GAC, but not the probing path, the load fails, since there’s no way to do a full bind.  

All this is mostly an issue for plugins that we load dynamically.  It shouldn’t be an issue for compile-time dependencies, since they use full binds.  One way to make sure you get what you expect is to specify a full bind in your config files via an Assembly Qualified Name (QN) like:  "Foo.Bar, Version=2.0.205.0, Culture=neutral, PublicKeyToken=59388ae2d2746794" and doing something like this:

  100 public static object CreateInstance(string assemblyandtype)
101 {
102 Type type = Type.GetType(assemblyandtype);
103 object instance = null;
104 instance = type.InvokeMember(String.Empty,BindingFlags.CreateInstance, null, null, null);
105 return instance;
106 }

Thanks to Patrick for the writeup!

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook bluesky subscribe
About   Newsletter
Hosting By
Hosted on Linux using .NET in an Azure App Service

Disclaimer: The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.