9/21/2005

Posting Netiquette, "Urgent", and Helpful Mail Servers

It never ceases to amaze me what people can post on newgroups and messageboards and actually expect to receive an answer!

I wouldn't exactly characterize this as a "pet peeve", since I usually don't even bother to read them any longer.

You get tipped off to this when see things such as a post title that says "Please Help" (or, "URGENT" - in caps).

DOH! Of course you are asking for help, isn't that why you made a post? How about putting some descriptive phrase in the title that tells people what subject area the post is about?

In the C# newsgroup, Jon Skeet, whose work I particularly admire, even put together a posting netiquette piece on his web site entitled "Short but Complete"



On eggheadcafe.com , we have a "posting netiquette" page that I often refer offenders to.


Finally MVP Daniel Petri has successfully entered an MS KB Article on the same subject.

Besides providing a useful and descriptive subject line to your post, you want to consider providing information on at least some of the following, as Daniel astutely points out:

  • What are you trying to do?

  • Why are you trying to do it?

  • What did you try already, why, and what was the result of your actions?

  • What was the exact error message that you received?

  • How long have you been experiencing this problem?

  • Have you searched the relevant forum/newsgroup archives?

  • Have you searched for any tools or KB articles or any other resources?

  • Have you recently installed or uninstalled any software or hardware?

  • What changes were made to the system between the time everything last worked and when you noticed the problem?



The bottom line is, posting on groups and forums is an art. You are competing with others for the attention of responders. If you want to get the "first responders", you have to pay attention to what you put in your post.

While all of these have some element of humor in them, they all talk about the same concept: GIGO (garbage in, garbage out). and should be required reading for anyone considering making a post on a newsgroup or forum.

Helpful Mail Servers

You thought I'd forget, didn't you? One more thing that I think is really really DUMB: Mail Server software that sends YOU an email saying that something was wrong with your email that was really sent by a bot that's trying
to hijack your email address (a.k.a. "Xenophobic email attacks").

So what have they accomplished other than to further clog up the bandwidth in Paradise?

9/17/2005

SQL Server 2005 CTP September Install, GotdotNet Workspaces FullTrust, and Telepathy API

One of the most annoying things I've recently seen is that the August AND the September CTP of VS.NET 2005 do not correctly install the GUI Control Panel applet, "Microsoft .NET Configuration" for 64-bit platforms.

I entered a Product Feedback bug on this for August and was told it was fixed and would appear in the next CTP or the RTM bits. Well, September CTP "RC0" came out, and its STILL BROKEN.

The Product Feedback people seemed like they were more anxious to close my entry (in this particular case) than to provide any real help, such as "Try using CASPOL.EXE" -- which of course, I already knew I'd have to do.

I hate caspol.exe , but that was my only other choice because I wanted to get the Windows Forms user control for Gotdotnet Workspaces source control working. So, after studying a bit, here's the code:



caspol -q -machine -addgroup 1 -url http://www.gotdotnet.com/* FullTrust -name "GotDotNet_Workspaces"


That will enable fulltrust for .NET Framework 2.0. The installer will take care of 1.1 for you automatically. Now what would really be nice is getting the VS.NET SCC plugin working too.

Of course, you must execute that on the command line in the .NET Framework folder for the version you want to enable, such as in:

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727



Another booger: You go to MSDN Subscribers and log in and you look at the September CTP of SQL Server 2005. There's a main ISO image download. There's also a "tools" disk download. So you download and burn the "main" thinking you really don't need the "extras" on the second disk, right? NOPE! Halfway through the install, when you get to Books Online and all that crap, guess what! You get prompted for "DISK 2"!

Come-on folks, this ain't rocket science. If both disks are required for an installation, then how about let's show the simple courtesy of puttting a message up there explaining so. How about it?

We're pretty smart, but we aren't telepathic yet! Now that I think about it, if you ever come out with the Microsoft Telepathy API SDK, please put me on the beta testers list. I can just see the release text now:

REDMOND, Wash. -- Oct 30, 2006 -- Microsoft Corp. today announced the release of beta version 1 of the Microsoft® .NET Telepathy® 1.0 API, the latest version of Microsoft's suite of bioinformation application programming interfaces. Beta 1 features Microsoft's innovative new high-level mind search language (HLMSL), a powerful new programming model that offers the easiest-to-use telepathy results toolset for developers. . .

9/14/2005

New ATLAS framework bits, Google Blog Search, and VS.NET 2005 Uninstall Tools


Not much else needed to say about this except here's the link!


It's been almost 2 1/2 years since Google picked up Pyra Labs, (Blogger publishing service), and Google has been promising blog search since. Google web search has allowed you to limit results to blog file types such as RSS and XML in web search results, they haven't offered a specialized tool to gather purely blog posts.

Now that's changed. Google's new beta service is available both at google.com/blogsearch and search.blogger.com. Google blog search scans content posted to blogs and feeds in virtual real-time.

Here's a sample search for "Peter Bromberg's UnBlog" in rss format, that you can actually plug into your feed reader. And, here is the same search in regular HTML format.

I've already added this as a new "engine" in our eggheadcafe.com RSS multisearch app, that now searches up to 20 different engines simultaneously on a threadpool, removes duplicate links, and presents the results. Results of recent searches are cached, and are available in the "Recent Searches" link in a page-able DataGrid of links.


Finally, Aaron Stebner, who authors the "Build Uninstall" tools for VS.NET 2005, informs that the newest version is available AND there is a "Find it and Fix it" tool as well for those of us who may have a botched uninstall. (Geez! That never happens to me...).

Here's the link to Aaron's post.


9/13/2005

Green Squiggles, Red Squiggles, XHTML Standard(s) and VS.NET 2005 RC0

Red squiggles correspond to validation errors such as a missing closing tag. Green squiggles correspond to validation warnings such as the use of deprecated tags.

See how easy that was? Seriously, Stephen Walther, author and developer extraordinaire, has a new article at MSDN entitled, "Building ASP.NET 2.0 Web Sites Using Web Standards."

I say it should be required reading for EVERY developer who is using or getting ready to use ASP.NET 2.0 (including a few book authors I can think about).

It's 53 pp printed out, and very well put together.


On a side note, I notice this morning that Release Candidate RC0 is dropped at MSDN Subscriber Downloads in advance of PDC 2005. As one would expect, the Subscriber login is overloaded and doesn't work.


And a further note on TDD and test coverage from a previous UnBlog post about test coverage, MS Press's new book by Newkirk on TDD is out:

9/08/2005

Katrina and the Democratic Blame-A-Tron Machine

Doesn't sound like the title of a short story by Hemingway at all, does it?

Everybody wants a "full investigation". The Democratic "Blame-a-Tron" Wind Ensemble is cranked up, repeating its mantra of Let's Blame Bush, Let's Bash Bush.
The problem is, they're dealing on emotions, not facts, and their little orchestra, while playing from the same old sad sheet music, doesn't have a conductor. Nancy Pelosi, Ted Kennedy, Barbara Boxer, and the rest of the Democrat "wind" section all need to go home with their instruments and practice their scales.

Look, this stuff has nothing to do with political parties. We don't really need to waste any time and money on investigations because it's already obvious to anybody possessing an above room temperature IQ what happened. It's about people who were incompetent, regardless of political affiliation:

The Governor: After the crisis struck, Governor Blanco remained indecisive.

A transcript from CNN of Mayor Nagin's comments indicates Blanco waited 24 hours to decide on which federal plan to initiate.

That wasn't the only time she froze up. She took control of the emergency apparatus, but continued to refuse to act. President Bush had to personally call and beg Blanco and Mayor Nagin during dinner to order a mandatory evacuation (1). They still waited until the morning. A state of emergency was ordered August 26th at 9:44pm, they waited until the 28th at 10am to order the evacuation. A full 36 hours could have been added to the evacuation time, which could have included the National Guard going door-to-door to save people and get them out of New Orleans.

Blanco just sat around and failed her people. She refused to give authority to the federal government to act.

The Mayor:
Mayor Nagin had lots of buses he left in their parking lots that could have gotten people out. The initial responsibility of evacuating people in New Orleans belongs to the Mayor, and he did little to nothing beforehand. Lest we forget, Mayor Nagin is an Afro-American, and he had both the authority and the ability to help out the poorest of his city who don't have transportation and many of whom are black, so please don't hand me this "racial bias" B.S.

The evacuation plan called for using buses (see below) to get those without cars out, but instead Nagin left the buses sitting in the parking lots to get destroyed. They could have at least taken the buses to higher ground so they could have been used after the hurricane passed, not to mention for getting people out before the hurricane hit. Nagin did a great job, in the aftermath, of pointing fingers at others and throwing temper tantrums on live TV, but the guy had a written plan and he failed to implement it.

The New Orleans Police Department - Two-thirds of the police force left. FEMA has no plan for such a catastrophic power vacuum, which only strengthened the anarchy. Armed bands shut down rescue operation, necessitating the militarization of the environment.

There were FEMA and other rescue teams that got in pretty quickly, but snipers were shooting at rescue helicopters, pirates boat-jacked rescuers, and mayhem broke lose, with even the police looting and standing by while the people did so. The government could have stepped in and taken the food first and rationed it. Instead it permitted an environment of lawlessness.

Rescuers had to halt operations in general, and at locations like the Superdome, because they had no security with which to be able to proceed. This necessitated a buildup of military force that could provide security, which wasn't planned for, and which took more time. More time, and more lost lives.

FEMA could have handled some things better,but the real responsibility in the first few days of a natural disaster is local, not federal. The states have to authorize help, and Louisiana didn't do it. Mississippi was hit by the same hurricane and there was little crisis there because Gov. Barbour acted quickly, showed leardership and decisiveness, and his people did what they were supposed to do. FEMA can have better plans and preparedness, of course. But the point is they shouldn't have had to deal with a complete collapse of local authority in the first place. They shouldn't have had to deal with 100,000 people trapped in New Orleans because the Mayor, the Governor and the police department all blew it.

So, since we already know who's to blame, how about lets spend less time playing the overture to the "Let's Bash Bush" ballet, and a little more time figuring out how to improve the system? And this says nothing about the National Disaster in the fact that we've had too much of our refining capacity in the afflicted area, and which I've already UnBlogged about.

N.B. I've been asked by 2 readers at this point about sources. My initial comment response may have had it's URL chopped off, so I'll post a few here and below -->article, which appears in the New York Times<--.

You can read the City of New Orleans' official plan for hurricanes here

To save you some more research time, Here are some direct quotes from "City of New Orleans Comprehensive Emergency Management Plan.", which makes it evident that New Orleans knew that evacuation of the civilian population was the primary responsibility of the city not the federal government. The city plan acknowledges its responsibility in the document:

"As established by the City of New Orleans Charter, the government has jurisdiction and responsibility in disaster response. City government shall coordinate its efforts through the Office of Emergency Preparedness."

The city document also makes clear that decisions involving a proper and orderly evacuation lie with the governor, mayor and local authorities. Nowhere is the president or federal government even mentioned:

"The authority to order the evacuation of residents threatened by an approaching hurricane is conferred to the Governor by Louisiana Statute. The Governor is granted the power to direct and compel the evacuation of all or part of the population from a stricken or threatened area within the State, if he deems this action necessary for the preservation of life or other disaster mitigation, response or recovery. The same power to order an evacuation conferred upon the Governor is also delegated to each political subdivision of the State by Executive Order. This authority empowers the chief elected official of New Orleans, the Mayor of New Orleans, to order the evacuation of the parish residents threatened by an approaching hurricane."


It is clear the city also recognized that it would need to move large portions of its population, and it would need to prepare for such an eventuality:

"The City of New Orleans will utilize all available resources to quickly and safely evacuate threatened areas. Those evacuated will be directed to temporary sheltering and feeding facilities as needed. When specific routes of progress are required, evacuees will be directed to those routes. Special arrangements will be made to evacuate persons unable to transport themselves or who require specific life saving assistance. Additional personnel will be recruited to assist in evacuation procedures as needed. ... "

Further, Bob Williams, writing in the Wall Street Journal on Sept. 7, stated:

"The New Orleans contingency plan is still, as of this writing, on the city's Web site, and states: "The safe evacuation of threatened populations is one of the principle [sic] reasons for developing a Comprehensive Emergency Management Plan." But the plan was apparently ignored.

Mayor Nagin was responsible for giving the order for mandatory evacuation and supervising the actual evacuation: His Office of Emergency Preparedness (not the federal government) must coordinate with the state on elements of evacuation and assist in directing the transportation of evacuees to staging areas. Mayor Nagin had to be encouraged by the governor to contact the National Hurricane Center before he finally, belatedly, issued the order for mandatory evacuation. And sadly, it apparently took a personal call from the president to urge the governor to order the mandatory evacuation.

The city's evacuation plan states: "The city of New Orleans will utilize all available resources to quickly and safely evacuate threatened areas." But even though the city has enough school and transit buses to evacuate 12,000 citizens per fleet run, the mayor did not use them. To compound the problem, the buses were not moved to high ground and were flooded. The plan also states that "special arrangements will be made to evacuate persons unable to transport themselves or who require specific lifesaving assistance. Additional personnel will be recruited to assist in evacuation procedures as needed." This was not done.

The evacuation plan warned that "if an evacuation order is issued without the mechanisms needed to disseminate the information to the affected persons, then we face the possibility of having large numbers of people either stranded and left to the mercy of a storm, or left in an area impacted by toxic materials." That is precisely what happened because of the mayor's failure."

I won't bore you with more quotes, if you are really interested in the facts, do your own research. Thanks for reading.

1. Associated Press, Mandatory Evacuation Ordered for New Orleans, August 28, 2005, 10:48 a.m. CT.

9/07/2005

On Comment Spam - Here's the deal:

Peter Bromberg's UnBlog is my personal journal. It is not sponsored by, hosted by or related to Microsoft, my employer, or anybody else but me.

I alone am responsible for the content on this journal. Most of my posts here revolve around my profession, which is that of being a professional sofware developer. I post technical and other helpful information,sometimes including my opinions, and other comments about unrelated topics such as politics or world affairs whenever I deem it appropriate to the times.

I encourage responsible comments here, regardless of whether they agree with my opinions or not. I do not censor comments, even though a few could be considered by any respectful human being to be particularly insensitive and vulgar.

Some of my recent posts, for some reason, seem to have been attracting Comment Spam. This is typically promulgated by people who make UnBlog comments here that really have very little to do with the subject of my post.

Sometimes, they are comments that say something like "Your blog is great, you write so well, and here's more information about XYZ" -- and they have a link to some completely unrelated website or weblog. Some of these are undoubtedly automated, so I've turned on CAPTCHA verification to help preserve the contextual quality of the content for readers and visitors. Please accept my apology for this inconvenience for the privilege of being able to make a legitimate comment here.

Occasionally, people will post a comment to espouse some religious or political view that is completely unrelated to the topic of the post. That's spam.

My advice? Don't waste your time and your keystrokes. Such comments will be deleted quickly.

If you have something constructive to say or have an opinion related to the subject of a post here, whether you agree with my opinion or otherwise, please feel encouraged to post it for all to see. If you want to call me a "right wing American retard", I doubt it could add much constructive value to a post topic, and I suspect it would be more a reflection on the person making the comment than on me, but I would not delete the comment.

Free Speech is so basic to our American way of life. But, that doesn't include SPAM, at least not here.

Thanks.

Sloppy Code, Band-Aid Code, and Quality Code

In my short happy life as a programmer I've noticed that most code seems to fall into the above three buckets.

The biggest offenders in the Sloppy Code camp usually come from the VB.NET camp, simply because the language has become so distorted from efforts by Microsoft at giving it new life instead of a decent burial that they've perpetuated gobs of crutch and helper methods, most of which live in the non-CLS-Compliant Microsoft.VisualBasic namespace. (I see where in VS.NET 2005, this is actually marked as CLS-Compliant for the first time, but I'll need to see proof before I believe it).

In order to do the things that .NET needed, Microsoft decided that they had to "break compatibility" with previous VB versions. VB programs had been mostly "upward compatible" from VB1 right up to VB6. A program written in the first version of VB would still compile and run in the next version. But with VB.NET, they found they just couldn't make the language completely OOP and maintain this upward compatibily. So, once this fundamental decision was made, the floodgates opened, and now you have VB.NET, which has become a real mess, IMHO.

Variants are an example. They're gone. Probably no other single feature of Visual Basic being "Not.Net" better represents the philosophy of "easy and loose". I remember my first introduction to VB 3.0: "Well, Mama, Lookee here! With this here Variant data type, we don't have to declare no variables or nothin'! We can just think 'em up and code at 'em! Whoopee!"

Of course, now you have crutch code that attempts to do the same thing with the Object datatype with LateBinding.This and Information.That, etc.

But the biggest offense with Sloppy Code (both in VB.NET and C#) is the failure to put in any exception - handling. I know - we get post after post to the eggheadcafe.com messageboards with people asking "what went wrong", or even "There's a BUG in...". Look for a try - catch block in their code sample -- it ain't there.

Band-Aid Code is a little more sophisticated. It's the attempt to "Fix" what shouldn't have been done wrong in the first place. I have seen entire corporate operations literally CONSUMED with the maintenance of "Band-Aid Code"! Sad, but true.


Finally, we've got Quality Code.

Quality code is carefully written, it's Object Oriented, it uses interfaces, structured exception handling, its easy to read, and its maintainable. To write quality code, you have to study. You have to RTFM and know where the F1 key is. And -- (gasp!) --you have to think. Viva la Quality Code!

9/04/2005

Visual Studio.NET 2005 August CTP Installation Issues

I have a new article on eggheadcafe.com which details some of the basics of how to successfully uninstall older CTP's and BETA versions of Visual Studio.NET 2005, and to install the newest version which has the final .NET Framework version build number (the same as will be in RTM) .

The only issue I still have, which has been submitted to the LadyBug Product Feedback Center site is that the Microsoft .NET Framework Configuration Control Panel applet for .NET Framework 2.0 fails with a "Snapin failed to initialize" error dialog. This is on Window Server 2003 64-bit x64 platform only.

I have some ideas why this is happening, but I want to nail it down fast since I need to play around with gotdotnet workspaces configurations for their Windows Forms User Control for source control. Otherwise, I'm stuck with that crappy HTML interface (not to mention the frequent gotdotnet.com "outages", but that's another story).

So, if you are familiar with this, have a fix, or some other info, feel free to post a comment.

N.B. "Thanks for reporting this bug. We've found it and fixed it, and it will be out in the next Partner CTP drop or in the released bits"

How nice. Not a hint of a workaround. I hate Caspol, but I guess that's the last resort.

9/02/2005

New Orleans / Katrina : Who's to blame -- and Terrorists Jumping With Glee

Rescue worker:

"One of the teams came in today after having been out for hours at a time. One particular rescuer went straight to a corner and collapsed into tears. I went directly to him and just held his hand. What else could I do? I said nothing. He said it all. They lowered him 26 times and he pulled 26 people to safety. He wants to be back out there but there are mandatory rest periods. His tears are tears of frustration."

There are two disasters going on here, a natural disaster with what appears to be an almost incomprehensible lack of planning on the part of the localities, compounded by an equally incomprehensible lack of response by the Federal Government.

And the second disaster is the National Disaster, and it's an equally big problem for us all:

We're the richest country in the world, we have some of the smartest, best-educated people in the world. And we knew, and our government knew that New Orleans was essentially a huge bathtub just waiting for the water to come in. And yet, strategically, what did we have? We had an inordinately large percentage of our national oil reserves and refining capacity sitting right in the middle of the fyookin' bathtub! Is that a national security issue, or am I talking Greek?


I can't blame anybody for Mother Nature sending Katrina over New Orleans. But I sure as hell can blame the U.S. Government for being so incredibly stupid as to allow our country to exist in such an indefensible energy position for so many years without anybody doing a damn thing about it.

I sent some money to the Red Cross, that's all I can do to help right now. Those people in Congress, the President and his Cabinet and all their predecessors who didn't have the foresight to do anything about our energy situation all this time ought to be paying double. We're all going to be paying for our incredible stupidity for the next 20 years, in higher gas prices because it takes that long to bring on refining capacity, while the terrorists in the Middle East are jumping with glee. And we will still be dependent on foreign oil! Are we EVER gonna get the message here?

It's a pretty simple equation, supply and demand:

DEMAND: You want to drive your gas-guzzling SUV to work, and you are the only person in it? YOU GOTTA PAY THE PRICE!
SUPPLY: If you don't want to be dependent on oil to run your society, you need to find other ways to power it!

The current balance between supply and demand is called --- surprise --- "Gas Prices".

Hey, you've had THIRTY YEARS to figure out this crap, folks! How about it? What is it, Quantum Physics or something? Shame on you, U.S. Government! Shame!

Stupid asses!