Multi-core compiling in Visual Studio

Multi-core compiling in Visual Studio

You might already know this, but this is for those of you that want to compile extra-fast on your multi-core beast.  Bet you didn’t know that by default, most versions of Visual Studio do NOT use multi-core compiling.  So, to turn it on, do this in visual studio:

Tools > Options > Projects and Solutions > Build and Run > maximum number of parallel project builds

Set this to the number of cores you have (or the number of cores you have -1 if you want to do things on your desktop while compiling extra-big things).

To see if it’s working, when you compile, in the compiler output window at the bottom you should see each line prefixed by a number like this:
1>blahblah
4>blahblah
3>blahblah

Those prefix numbers tell you which ‘core’ the message is coming from.  I find this speeds up your compile times dramatically – especially on large projects.  Give it a try!

Assault at Brecourt Manor tactician, Major Richard Winters, has died

Assault at Brecourt Manor tactician, Major Richard Winters, has died

Richard Winters.jpeg

Major Richard Winters, commander of Company “E”, 2nd Battalion 101st Airborne during World War II and the character who was the basis of the Band of Brothers series, died this Jan 2nd, 2011.

I personally found the Band of Brothers series to be one of the best war-based TV series created in recent years; and Winter’s successful assault on the fortified gun positions at Bercourt Manor (that was depicted in tremendously accurate detail in Episode 2 – Day of Days) during D-Day landings launched him into near instant fame. He continued on up the ranks during the war because of his excellent tactical and personal leadership. The assault was featured as a major part of one of the Band of Brothers episodes which had a nearly exact re-creation of the events and assault. The assault was so well executed and planned that it’s still studied in West Point as a textbook study in how to attack a fixed position. This assault even made it into mods for various FPS games and it even became an official mission in the Call of Duty series.

I was intrigued to find out what the strategy was, but could not find any details of the actual tactics.  Well, look no further. I finally found a site that shows the step-by-step account of the attack. Here is the detailed flow of the assault in very easy to follow diagrams. It appears that site is not being maintained and increasingly broken, so I’ve copied it below.

Personally, I’m continually amazed by a dichotomy of reading about combat tactics and the reality of the performing them on the ground. While these situations are studied from perfect aerial views with everything clearly marked, the reality is that everything is seen and evaluated at ground level. A great tactician has to survey covertly without being spotted, without knowing anything about hidden emplacements, without being able to see actual numbers, and usually with only partial views with key pieces blocked by obstacles. He must have an intimate and cold evaluation of his mens’ training and weapons’ capabilities.  He has to gather this information while laying in mud or thickets – sending men around only so far as they can recon without being seen.  This soup of input is then processed and a plan churned out instantly; often in the heat of battle. As the assaults progress, they must re-evaluate and keep moving very quickly using tactics of misdirection and hitting positions before they can re-adjust to the assault. As an avid player of FPS tactical games like Counter-Strike, I see how this is like poetry in motion when you get hooked up with a good team that can sense the shifting positions and anticipate counter-assaults.  They know when to rush and when to shift. I find this an amazing skill; and one I’ve always wanted to learn more about.

To see how this looks in action, I present to you the Assault on Guns at Brecourt Manor as shown in Band of Brothers Episode 2 (note: these videos sometimes break if they get copyright takedown notices – just search for the title on YouTube and you’ll find others).

Below the videos is the battle flow diagrams.

<edit June 11, 2022>

Also, there are a number of videos made about the assault on YouTube as well.

Major Winters talks about the assault:

Review on the site and flow of battle at the actual location:

Bill Gaurnere revisits Brecourt Manor

Here are the charts, since the original link seems to be falling apart.

Location of Brecourt Manor in relation to Utah beach.

brecourt-manor-map

And here is the flow of battle:

After a night of havoc with sporadic contact with the enemy, Lt. Richard Winters, Easy Company (506 P.I.R.) managed to collect some of his men and men from other companies. He had landed on the northwest corner of Ste. Mere Eglise and steadily made his way, picking up others, to the east towards the beaches and then south. Eventually he assembled with larger numbers, and moving southward from Le Grand Chemin enemy contact was made; just south of Le Grand Chemin and north of Brecourt Manor a battery of 105 mm guns was shelling Utah Beach. Without realizing most of E Company was still making its way to the assembly point, Lt. Winters was ordered “to take his men” and knock out the placement. Knowing little more than the placement of a machine gun and one artillery piece, Winters and his force of 12 men moved south (Koskimaki, 230 – 231). On scouting the area, Winters found that there were actually four 105 mm guns connected by a trench network and defended from a distance by a collection of German MG42 nests.

graphiclegend01-vi

graphicassault01-vi

Upon arrival to close proximity to the battery, Lt. Winters set up two 30-caliber machine gun positions to act as bases of fire. Pvts. Joe Liebgott and Cleveland Petty were assigned one position, while Pvts. John Plesha and Walter Hendrix manned the second. Sgts. Mike Ranney and Carwood Lipton were sent northwesterly (past the old truck and rubbish pile) to establish covering fire as well. Lipton, with limited visibility, climbed a tree for a better view, but in an exposed position. Sgts. Bill Guarnere and Don Malarkey accompanied Lt Buck Compton down the tree line in a flanking position of the German MG42 nest.

graphicassault02-vi

Pvts. Joe Liebgott and Cleveland Petty were given the order to commence firing. Lipton and Ranney also began harrassing fire from the tree position. Meanwhile Compton, Malarkey and Guarnere were in position to attack from the German machine gun’s right flank…

graphicassault03-vi

…from the gun’s right flank they threw grenades and began charging in thus knocking out the MG42. Lt. Carwood Lipton later recalled, “And then, just like in the movies, I saw Compton and Guarnere running in and throwing grenades with almost every step.” (Koskimaki, pg. 230)

Winters, along with his group (1) then charged along the tree line then out through the field to the trench system. The Germans in gun position one were overwhelmed…

graphicassault04-vi

…and abandoned the first gun position. What German infantry was left retreated south in the trench system towards the next gun and south across the field towards Brecourt Manor only to be fired on in the open. Contrary to the HBO series depicting Lorraine has having trouble hitting a retreating German, it was Bill Guarnere who actually missed his man. “Guanere missed the … Jerry, but Winters put a bullet in his back. Guarnere followed that up by pumping the wounded man full of lead with his tommy gun.” (Ambrose, 98)

The assault team now began to take fire from a line of MG42 nests located in the hedges to the west and southwest. Additionally the Germans in the next gun position began to fire and throw grenades. It was here in the north end of the trenches, as gun one was taken and about to be destroyed, that Popeye Wynn was injured by grenade, and Joe Toye had two close calls.

graphicassault05-vi

With the first gun under control, the attack on the second gun was put into place, but Winters, sensing a counterattack, checked the trench system. “I flopped down and by lying prone I could look through the connecting trench to the next position, and sure enough there were two of them setting up a machine gun, getting ready to fire. I got the first shot in however, and hit the gunner in the hip. The second…in the shoulder.” (Koskimaki, pg 232)

The MG42 fire from the west across the field was almost non- stop at this point, so all activity was limited to a crouch in the trench system. Lipton made his way up to the first gun only to discover that he had left his musette bag with explosives behind. He left, as ordered, to retrieve his bag.

Winters now ordered the assault on the second gun. Leaving three men on the first 105, Winters led five others in a charge on the gun. With only one casualty the gun was taken (Ambrose 100). It was at the second 105 position that Winters discovered the radio and map room. This was an important find, as the maps contains locations of every German battery on the Contentin Peninsula. Winters ordered the radios and remaining materials destroyed.

graphicassault06-vi

With two guns under their control, Winters ordered the four machine gunners forward to suppress the MG42 fire from across the field. The team was joined by Pvt. John D. Hall of A Company. Hall led the charge on the third gun but was killed. However, the gun was taken (Ambrose, pg. 100). Captain Hester, S3, then joined the team, bringing with him incendiary grenades. Winters ordered all the captured guns destroyed.

graphicassault07-vi

Five more men, led by Lt. Ronald Spiers of D Company, arrived to reinforce the effort. Speirs led the assault on the fourth and final gun. The gun was taken but not without the loss of one man, “Rusty” Houch of F Company (Ambrose 101). All guns were now capture and effectively put out of operating order.

graphicassault08-vi

With all guns captured and destroyed, Winters ordered a fallback to the original starting point and subsequent retreat to Le Grand Chemin.

Conclusion
“Winters’ casualties were four dead, two wounded. He and his men had killed 15 Germans, wounded many more and taken twelve prisoner; in short they had wiped out the 50 man platoon of elite German paratroops defending the guns, and scattered the gun crews” (Ambrose, pg. 102)
For their actions, Lt Richard Winters received the Distinguished Service Cross, while Compton, Guarnere, Lorraine and Toye received the Silver Star; Lipton, Malarkey, Ranney, Liebgott, Hendrix, Plesha, Petty and Wynn received the Bronze Star (Ambrose, pg. 104).

  1.  Ambrose, Stephen – Band of Brothers
Why the volatile keyword probably isn’t necessary in multi-threaded programming

Why the volatile keyword probably isn’t necessary in multi-threaded programming

Interesting article from the Intel guys doing TBB.

Arch Robinson just removed almost ALL the volatile keywords from Intel Thread Building Blocks.  Why?  For several reasons, but mostly because he claims that overall it slows your code, probably does not actually solve the underlying ordering problems if your code needs to be portable (a REAL concern on today’s writing of games/apps for x86, Xbox, PS3, and iPhone devices!),  and likely isn’t doing what you think it’s doing anyway.  Here’s a pertinent example:

Sometimes programmers think of volatile as turning off optimization of volatile accesses. That’s largely true in practice. But that’s only the volatile accesses, not the non-volatile ones. Consider this fragment:

    volatile int Ready; 

    int Message[100];

    void foo( int i ) {

        Message[i/10] = 42;

        Ready = 1;

    }

It’s trying to do something very reasonable in multi-threaded programming: write a message and then send it to another thread. The other thread will wait until Ready becomes non-zero and then read Message. Try compiling this with “gcc -O2 -S” using gcc 4.0, or icc. Both will do the store to Ready first, so it can be overlapped with the computation of i/10. The reordering is not a compiler bug. It’s an aggressive optimizer doing its job.

You might think the solution is to mark all your memory references volatile. That’s just plain silly. As the earlier quotes say, it will just slow down your code. Worst yet, it might not fix the problem. Even if the compiler does not reorder the references, the hardware might. x86 hardware will not reorder it. Neither will an Itanium(TM) processor, because Itanium compilers insert memory fences for volatile stores. That’s a clever Itanium extension. But chips like Power(TM) will reorder. What you really need for ordering are memory fences, also called memory barriers.

So what’s the solution for multi-threaded programming? Use a library or language extension hat implements the atomic and fence semantics. When used as intended, the operations in the library will insert the right fences. Some examples:

* POSIX threads
* Windows(TM) threads
* OpenMP
* TBB

So, when is volatile actually necessary?  It turns out there are only 3 portable cases volatile is actually needed:

  • marking a local variable in the scope of a setjmp so that the variable does not rollback after a longjmp.
  • memory that is modified by an external agent or appears to be because of a screwy memory mapping
  • signal handler mischief

And now you know, and knowing is half the battle.

Good presentation on PS3 hack

Good presentation on PS3 hack

An international group recently hacked the PS3 so that Linux could be run on the platform and recently presented how it was achieved at a security conference.  Some may recall that the PS3 originally had this option (called “OtherOS” boot), but then the feature was removed after Sony claimed it allowed cracking of their games/piracy concerns.  A bios patch was forced from Sony and no machine without the updated BIOS is allowed to use their services.

At this point, the group ‘failOverflow’ then picked up the mantel for angry PS3 users that had bought the console with the goal of running Linux on it and then felt they’d gotten cheated by Sony who was viewed as having reneged on their promise.  After about 12 months of work, a hack was achieved.

I gleaned two interesting things from the presentation.  Firstly, successful hacks of such modern devices usually comes from teams, not individuals.  While working together is obviously a logical progression if several people are trying to hack the same, much more complex device; it does seem to be a big change from the days when a single guy in his garage would ‘prove’ himself by hacking something by themselves.  Secondly, these guys are very smart.  They clearly have very high levels of understanding of hardware, memory architectures, operating system concepts (loaders, ring levels, decryption, trust-chains, etc), and software stacks.  I’m almost certain they all have a Computer Science or similar background.  The days of a single guy picking up a book, a debugger, and hacking the security in these consoles in their spare time seems to have come quickly to a close.  I think this trend started with the hacking of the original Xbox by a team of Computer Science grad students (which took advantage of an awesomely obscure memory wrap-around bug introduced when they switched from AMD to Intel at the last minute), and this trend doesn’t appear to be going back.  It appears that if you want to contribute to hacking a platform; you best get your BS/MS in CompSci or CompEng.

So, without further ado, here’s the video clip of failOverflow talking about their efforts (along with an interesting bit at the beginning on how long it took to hack other platforms)

Battlefield 2 on Steam kicking you off because of PunkBuster?

Battlefield 2 on Steam kicking you off because of PunkBuster?

Did you take advantage of the super Steam holiday sales?  I did, and got the complete Battlefield 2 pack for $4.99.  However, if you installed it and got it all working – you might keep getting kicked out of network games because PunkBuster reports that you have an ‘Invalid driver version/game’.  This is because of the Steam Community overlays.

  1. At your game library list in Steam, just right-click the Battlefield 2 icon
  2. Select Properties
  3. Go to the General tab
  4. UN-select the ‘Enable Steam Community In-Game’ option.
  5. Voila

Yes, annoying.  Can’t believe old games like this haven’t been re-modified by steam to not need the now-ancient PunkBuster system.  The fact they’ve had to update PunkBuster to be separate Windows Services now in order to work shows you it’s time to see that stuff go.

Worst Non-profits in Oregon

Worst Non-profits in Oregon

Tis the season for giving.  I’m a fan of charities, and regularly set aside 10% of my income for charitable giving.  But how do you check to see if that guy standing on the street corner is a *real* charity; or if that charity actually will get the money to those in need?  After Bono’s ONE charity scandal this year, we are learning how to be more careful with our giving:

According to New York Post investigation of tax records – of the just under $15 million that U2 singer Bono’s ONE charity collected in 2008 – only $184,732 was distributed to actual aid organizations. $8 million went to executive pay and most of the rest went to ad agencies for promotions.

Turns out that the Oregon Department of Justice allows you to look up the records of your favorite charity to see if they actually *are* a charity, and also to see exactly how much of that money they’re gathering is actually going to the cause; and how much of it’s going into their own pockets.  To be considered a charity, a charity cannot have over 35% of their money going to ‘administration’.  While 35% is still a huge amount of potential abuse IMHO, it’s the law at the moment and I can understand it for some particular causes.  My own take is that the charities I give to are in the 10% or less in overhead category (90%+ going to actual programs).

While not an exhaustive list of dubious charities, the official Top 20 worst charities in Oregon for 2010 are mind-numbingly bad with about half of them under 20% going to actual programs/aid.

Here’s the list with the percentages of how much goes to their actual activities.  In order for them to be considered in accord with a non-profit, these numbers need to be 65% or HIGHER.  I encourage you to check out your charity, and give to those that will do the most good with the money you give.

Shiloh International Ministries 3.63%
Purpose: To provide medical necessities and moral support to needy children and to
provide assistance to the homeless

Law Enforcement Education Program 6.26%
Purpose: To educate teenagers on the effects of alcohol

Korean War Veterans National Museum and Library  7.03%
Purpose: To preserve a record of participation in the Korean War, educate the public, and to promote friendship among vets

Foundation for American Veterans, Inc. 10.22%
Purpose: Promoting social and recreational welfare for current and past U.S. Armed Forces members, dependents, widows, widowers and others

Dogs Against Drugs/Dogs Against Crime  10.30%
Purpose: Drug Education and Crime Prevention

National Vietnam Veterans Foundation 10.92%
Purpose: Support of Veterans Organizations

Firefighters Charitable Foundation 11.09%
Purpose: To provide financial assistance to individuals affected by a fire or disaster

Committee for Missing Children 11.51%
Purpose: Distribution of photos of missing children, education and case management, and the development of an international database

The Wishing Well Foundation 11.57%
Purpose: Fulfilling the fondest wish of any terminally ill child not expected to reach 18 years of age

Law Enforcement Legal Defense Fund 13.16%
Purpose: To provide legal assistance to law enforcement officers

Disabled Police Officers of America
14.24%
Purpose: Educational Programs for Police Officers

Disabled Police Officers Counseling Center, Inc. 14.84%
Purpose: Assist disabled police officers

Foundation for Children with Cancer (formerly Reach Our Children)
15.23%
Purpose: To provide financial assistance to families with children with pediatric cancer

American Medical Research Organization 16.19%
Purpose: To support medical research in the cause, cure, and treatment of macular degeneration

National Veterans Service Fund, Inc. 20.44%
Purpose: Inform and educate in conjunction with service-related illnesses and work to raise public awareness of the contributions veterans make to our society

Children’s Leukemia Research Association, Inc. 20.49%
Purpose: To support research efforts into the causes and cure of leukemia and to provide assistance with expenses incurred in leukemia treatment

Dakota Indian Foundation 21.55%
Purpose: Assist in education of Indian people and preservation of Native American culture

Cancer Support Services  22.27%
Purpose: To support the charitable mission of Cancer Fund of America and to provide financial support to indigent cancer patients

Project Cure, Inc. 24.28%
Purpose: Increasing public and professional awareness about the prevention, detection, and treatment of various chronic diseases

Operation Lookout National Center for Missing Youth 24.53%
Purpose: To provide free services 24 hours a day 7 days a week regarding missing youth

Adobe registration box always keeps popping up

Adobe registration box always keeps popping up

If you have any of the Adobe suite and continually get the registration box when starting the app (even if you’ve filled it out 10 times before or told it not to register) you’re in good company.  You just need to start the app in Administrator mode, make you registration/hit the don’t register button, and THEN the registry can be properly updated.

Thanks again UAC for messing up my life in weird, cryptic ways that not one grandmother would ever be able to figure out.  But I’ve ranted about this before…

Legalization of marijuana

Legalization of marijuana

Despite all the predictions it was going to be a slam-dunk, California didn’t get the legalization of marijuana passed on their last ballot – and by a good margin.  Someone asked for the reason I wouldn’t vote for it if a similar bill if it came up here in Oregon and I decided to respond.  Personally, I could care less about the legalization/non-legalization of weed for the most part.  I find dedicating yourself to it’s cause seems kinda juvenile to me – but hey – to each their own.  But on to the arguments I hear most often:

Argument #1. “Everyone is smoking it – marijuana should just be legalized already”
Well, I don’t smoke marijuana. I thought it was a stupid way to blow $60+.  I got a lot more fun out of other things for the same price such as going to a concert or a great dinner out with friends. And just because everyone is smoking marijuana doesn’t mean that the practice should be legalized. Making that argument is like telling your mom that everyone else is jumping off a bridge so you’ll be joining them. This argument feels more like a peer-pressure play than making a fact based, logical decision based on empirical data.

Argument #2. “Marijuana has all kinds of medicinal uses”
To this argument, I would say you should petition to get it legally approved and regulated by the FDA as a helpful drug. I’d probably support that position. By claiming that it is a powerfully helpful drug AND safe for lifelong recreational use doesn’t seem to hold in common experience. No other substance has the precedent of being a powerful medicinal agent AND being totally safe for daily recreational use.  You could make the same arguments about alcohol; but it is also frequently cited by the legalization crowd as worse than marijuana (see next item). I find the argument that smoking marijuana is safe for lifelong recreational use and at the same time be a powerfully helpful drug to be hard to swallow without more evidence. I’d like the FDA to decide which category it should fall in.

Argument #3: “Alcohol is worse, and it’s legal!”
This bill for the legalization of marijuana doesn’t have anything to do with the legal/moral/ethical standing of alcohol (which has it’s own problems). Legalization of marijuana would not change anything about alcohol use, so the argument is kind of invalid.  Go pass a law to outlaw alcohol if you feel that strongly.  There’s nothing in this argument that shows how marijuana smoking is a benefit to our society other than kind of pointing at the neighbors (alcohol) and saying “Well, THEY’RE doing it”.
Now that I’m in my late 30’s I’ve personally seen too many of my own friend’s lives apparently affected negatively by long-term smoking. I had the experience at the place of my work that several coworkers ask what was wrong with the two guys who are regular smokers during/after meetings because they are pretty slow on the uptake and becoming more so each year. This slowness is becoming an issue for their employment. These effects might just be a correlation but behavioral and addiction medicine psychologist do see higher correlations of marital and personal problems from regular users. Just check out any of Dr. Drew’s comments about this from Loveline on the matter.
Rarely is it a good idea to escape into a substance to deal with stress or issues in your life.  It often leads to you not actually learning how to deal with them in a constructive, adult way.  The result is that years down the road you may find yourself less developed/mature than others in your age group.

Argument #4: “Isn’t it a terrible/social justice problem that so many (African-American) people are in jail because of casual use? It should not be a crime to casually smoke.”
Yes, the problem of jails full of people who have not committed any crime other than smoking joints is problematic; but it doesn’t logically follow that we should legalize something. What about speeding? Lots of people get those tickets – but we don’t legalize that. I’d support minimally criminalizing it like making it a misdemeanor with a hefty fine/ticket – but the argument of legalization is still falling short. Tickets/fines would raise money – which brings us to:

Argument #5: “Legalization and taxation will raise much needed money for California”
Almost every major study of the financial effects of proposed legalization/taxation plans show that the amounts raised would be far too small to make any significant difference to the California budget. California’s budget is in the top 10 LARGEST budget in the WORLD. Its budget is bigger than most countries. I think it’s safe to say that California’s budget problems are not caused by the non-legalization of marijuana.
I actually believe that it would end up COSTING more money to legalize (at least initially) because you’ll likely have all kinds of new legal problems. Is marijuana a drug that needs FDA testing/regulation?  If it’s a drug, then can it be grown and sold by anyone for recreational use?  Do medical plans need to cover it? What are the covered conditions? Are there new government agencies that need to be staffed to regulate growth/distribution/safety? I’ll argue there will be lawsuits from these issues that might take years and tons of money to work out.

Argument #6. “We’d all be better if we could just smoke up baby. Peace and love will surely follow for everyone!”
Reduced capacity does not solve problems. Lighting up a dried weed and inhaling chemicals into your body has not scientifically been proven as a good way to deal with problems. That argument makes as much sense as drinking fermented corn squeezings to deal with marital problems.

I could honestly care less about marijuana legalization but I find almost all the arguments in favor to be logically flawed or do not make a good case for why it SHOULD be legalized. I just don’t see how legalization really adds something valuable, beautiful, and noble to our society.

Portland’s Recent Bombing Attempt

Portland’s Recent Bombing Attempt

Recently, Mohamed Osman Mohamud, a Somali-born, 19 year-old student from Oregon State University attempted to detonate what he believed was a vehicle bomb amidst the hundreds of spectators at the annual Portland tree-lighting event.  I was only 10 or so blocks away watching from the 30th floor of the Portland City Grill.  Turns out he wasn’t working with fellow confederates, but had unwittingly been snagged by undercover FBI agents.  He fell on their radar because his own father apparently wrote to the FBI and warned them about his son’s extremist viewpoints.  Mohamed tried to contact militants in other countries, but the FBI intercepted instead.  Following his lead, the FBI supplied him with a dummy van bomb which had 5 or 6 55 gallon drums of (what he thought) were explosives.  The van was parked on the tree-lighting block and he walked (past my building) and activated the dud via cel phone right in the middle of the event.  Obviously it didn’t go off and he was immediately arrested.  Many have already called up the very likely charge of entrapment; but that will likely have to be decided in the courts.

Unfortunately, the night after the bombing, a mosque that Mohamed sporadically attended was set on fire.  Arson is highly likely based on the early evidence.  Fortunately only the office area was damaged and police are now running extra patrols around other mosques in the area.  The mosque very quickly and publicly denounced Mohamed’s actions, and there has been no evidence any radical element is present there.  So far there is no evidence that Mohamed appears to have contacted or worked with anyone from the mosque on his plans.

Unfortunately, this has revealed a general anti-religious attitude here in Portland/Oregon that I’ve run into before from what seem very well educated, self-described as open-minded, and well meaning folks.   On OPB’s Think Out Loud radio show, a comment appeared on their live blog they read from while doing the show.   The following comment was made, and struck a chord because I have heard it at a number of times at dinner parties/etc:

Religious people of all faiths are the problem. They are the cause of hatred, violence, misinformation, and ignorance throughout the world. The rest of us are dragged along in the wake of their poor behavior, we are associated with them because of the country we live in and the politicians they elect. Muslims aren’t the problem, all religions are the problem.

A number of people responded, but I liked this one best:

I disagree with your argument – not least of which is because it’s a contradiction.  You say religions are the problem, but say Muslims are not.  Do you realize what makes a person a Muslim is their identification with a religion?  Why did you assume it was his religion when his own congregation condemns his actions and he didn’t appear to get support for his plan or ideas from them?  Do you support the people that tried to burn down his Mosque because religions are to blame even though there is no proof to their involvement?

Secondly, you indicate that religions are the the cause of these problem.  It’s far too simplistic and wrong to say religion is the the sole source of this kind of brutal hatred in the world. How about the purely political and ideological killings of rebel groups in Central and South America?  Or the purely monetary murders of drug cartels in Mexico? The atrocities of the Kamier Rouge and Pol Pot, or the wholesale rape and hacking off of limbs by African militia groups?  Somolian death squads?  None of these groups are based on religious principles/backgrounds.

I agree with croyfp – it’s extremism of ANY ideology: be it political, ideological, religious, monetary, or otherwise that causes folks to feel the need to destroy those that don’t believe in what they do.  In fact, I can see a bit of this kind of hatred and anger in your response that desires to destroy something you don’t feel is right in your eyes. A true desirer of the good seeks to take what is good, and correct what is bad via reasoned argument and dialog.  An extremist says it must all be destroyed.  So where do you find yourself in your statement?

People desire to hurt others when they themselves have been hurt and not found understanding or healing; so they try to hurt others so that others have to feel the hurt and helplessness they themselves feel.  We won’t make a dent in extremists like this until they are allowed to be heard or at least given models to help guide them through their anger.

You can find the whole dialog and program here.  There were some pretty good comments.