Saturday, July 31, 2004


Legacy: Paying the Price for the Clinton YearsThe definition of treason:

Violation of allegiance toward one's country or sovereign, especially the betrayal of one's country by waging war against it or by consciously and purposely acting to aid its enemies.

And now, we introduce your current Democratic party leadership in action.

  • Al Jazeera received credentials to the Democractic National convention - the same network that refers to suicide bombers as 'martyrs' and vilifies our government and citizenry. According to the New York Post, "Al-Jazeera not only encourages the assassination of American soldiers, but pulls out all the stops to excite anti-U.S. hatred throughout the Arabic-speaking world."

  • Democratic Representatives Nancy Pelosi, John Dingell, John Conyers, and Charles Rangel met with the Council on American-Islamic Relations (CAIR) in effort to both discredit the Patriot Act and to end racial profiling at airports. This is the same group that has been linked to funding efforts for Hamas and, through the "Global Relief Foundation", Al Qaeda.

  • One-time Navy pilot Paul Galanti was shot down over North Vietnam in 1966 and spent seven years in the infamous Hanoi Hilton... He told the Los Angeles Times on Tuesday that he learned of Kerry's April 1971 testimony before the Senate Foreign Relations Committee while being tortured by his Hanoi Hilton guards... According to the Times, "during torture sessions, [Galanti] said, his captors cited the antiwar speeches as 'an example of why we should cross over to [their] side.'" ... Galanti told the Times that Kerry's decision to publicly allege that U.S. soldiers were war criminals "jeopardize[d] those still in battle or in the hands of the enemy."... Because he did, Galanti said, "John Kerry was a traitor to the men he served with."

  • Terrorists favor...

    Moderate Islam's voice must be heard

    Listmania Comparative ReligionThe Japan Times' George Sioris wrote an insightful article about the voice of moderate Islam. My take: his contention is that moderate Islam should be terrified of radical Islam. Why? The tenets of the radicals are simple: all other peoples and religions must be subsumed by Islam. Thus, the rest of the world has no choice but to defeat these extremist ideals.

    The danger for the moderates lies in being grouped with the extremists. A clear delineation between moderation and extremism is required. It is incumbent upon moderates to recognize their true enemies and to defeat them. And it is incumbent upon the West to amplify the message of true Islamic moderates.

    ...Malaysia's new prime minister, Abdullah Badawi -- the personification of diplomatic ability, moderation and Islamic scholarship -- drew a line between true Quranic teachings and modern distortions, going as far as to say that "terrorism is the mortal enemy of Islam, not its consort."

    ...The late Palestinian Dr. Ismail al Faruqi, an authority on Islam and comparative religion, succinctly summarized man's relation to God: "Islam held as a matter of principle that no man or being is one iota nearer to God than any other. . . . Pax Islamica never meant conversion to Islam, but entry into a peaceful relationship wherein ideas are free to move and men are free to convince and to be convinced."

    ...[the words of] Tunisian philosopher and historian Mohamed Talbi, are inspiring... He wrote: "I am proud to be a Tunisian, but I am not the enemy of my fellow human being, and I do not consider myself more worthy than him. . . . We have to accept each other with our ways of thinking. We may fight but with humility, modesty and friendship, so that our confrontation helps the cause of truth. . . . Pluralism belongs to our future."

    Talbi moved from theoretical heights to concrete problems of our times: "In any European library one can find a plethora of our [Arab and Islamic] manuscripts. There is no such case in any library of a Muslim country. As long as there is absence of interest for the other, there will be no free thought."

    ...There are many similarly eloquent ideas and admonitions from scores of other Muslim thinkers, a refreshing reminder that Islam has a moderate face. The question is: Are these voices heard or silenced by the fury of the fanatics?

    As for the West: Is it trying hard enough to build and strengthen bridges with these elements? ...

    Moderate Islam's voice must be heard


    Jihad: The Rise of Militant Islam in Central AsiaI found this press release through one of the message boards. It appears on and therefore can be attributed to its source. It makes for enlightening reading. Emphasis mine.

    Press Release Dated 26th July 2004


    The annual Rally for Islam in Britain took place yesterday. The purpose of the Rally is to emulate the Messenger Muhammad (saw) who called the society in which he lived to embrace Islam as a divine way of life... Muslims in Britain usually stand in Britain's Trafalgar Square with a similar call. However for the first time in 9 years the leadership of Al-Muhajiroun decided to relocate the Rally due to concerns for the security and safety of guests and attendees... In this era of the global media phenomenon the call for Christians, socialists, Jews, Sikhs and Hindus etc… to leave their false beliefs and to embrace Islam as a perfect, just and divine alternative reached not only those in the UK but people as far and as wide as India, Russia and the USA...

    Muslims believe that Islam is a superior ideology able to resolve all of the many problems which mankind faces today, from the economic to the social, from international relations to the ecological...

    ...Allah (SWT) says in the Qur'an that: 'He is the One who sent His messenger with the guidance and the Deen of truth, in order for it to be dominant over all other religions/ways of life…' and the Messenger Muhammad (saw) said that 'Verily, Allah folded the earth for me, so much so that I saw its East and its West: The authority of my Ummah will reach the whole of it' hence it is a fundamental belief of every Muslim that Islam will one day dominate the world, including Britain, it is just a matter of time. Today we call for the people to embrace Islam and change the law and order themselves – tomorrow an Islamic State may forcefully remove all obstacles in the way of the implementation of Islamic law, as part of its foreign policy. The choice is ours. However we should have no doubt that the two camps of Islam and Kufr (non-Muslim camp) will not always exist – rather eventually there can only be one camp i.e. Al-Islam. That is the wish of Allah (SWT) and the ultimate objective of Muslims on this Earth, in order to please Allah (SWT).

    If the Shari'ah was indeed implemented in Britain let us have no doubts that Britain would look very different to what it does today:-

    Economically: The sale of alcohol or pork would be prohibited, gambling would be outlawed. The currency would change from paper money to the use of Gold as standard, thereby eradicating inflation. Stocks and shares would be prohibited as would insurance, interest based transactions and the current company structures - all of this would be replaced with a unique economic system encouraging distribution of wealth, banning exploitation and hoarding and ensuring transactions are done where the goods are tangible, the services specified and the companies are real. Man would be the trustee of God's wealth on Earth promoting investment of it to please God – as in Jihad to conquer other lands to spread the law and order of Islam.

    Socially: There would be no pubs for example, and night-clubs, porn shops or other places of entertainment between men and women, encouraging promiscuity and sexual deviancy (such as homosexuality) will be banned. Both men and women will be required to cover themselves properly in public – with women wearing the Khimar and Jilbab (headscarf and long barrel shaped dress) and men covering at least from the navel to the knees at all times. Segregation (between men and women) in all public places will be enforced. All exploitation of the sexes in any way or form would be outlawed – even to employ someone for use of their femininity or masculinity (such as is done today with secretaries and air-stewardesses) would be prohibited, rather people will only be employed for their own skills and talents. All public adverts using men and women to sell products would be banned and Judges would roam the streets and markets accompanied by police to implement and maintain the Islamic public order.

    Judicially: The Islamic judicial system would be implemented where adulterers would be stoned to death and thieves would have their hands cut. There would be no jury service or solicitors or barristers – rather Judges qualified in Islamic Law would preside over all cases and Judge according to God's law. If there is any doubt on the guilt of the accused, even it is unreasonable or unlikely, any punishment would be left out. Maximum jail sentences will be one year and concentration would be on reform as opposed to locking the problem away. The State will ensure that only the most qualified and trustworthy Muslims will preside as Judges and justice will be available to all free of charge – as opposed to only those able to afford expensive barristers and solicitors.

    Education: There would be compulsory Islamic education for all with Arabic being the national language so that the people can properly read and understand the Qur'an. False ideas such as evolution and the equality of religions and corrupt subjects such as music, drama and art would not be taught. Rather every subject will be linked to the relationship with God and new subjects such as Islamic concepts, Shari'ah law and Islamic Jurisprudence will be introduced to the curriculum. Other subjects such as science and mathematics will be cleansed of any concepts contradictory to divine revelation. History from an Islamic perspective will be studied. There will also be an emphasis upon boys to have military training so that they can participate in Jihad after they become 15 years old and an emphasis upon girls to learn those subjects such as cooking, managing the household and looking after and bringing up children to train them properly for their roles as mothers in the future...


    Friday, July 30, 2004


    Jihad: The Rise of Militant Islam in Central AsiaOver at JihadWatch, there were some interesting reactions to my blog entry relating to the Democratic Congressional caucus with the Council on American-Islamic Relations (CAIR). One of the best comments, from Hulegu Khan, is excerpted here:

    ...As for national profiling, on 11 Sept 2001 the United States was attacked by a foreign guerilla military force in an overt act of war upon the civilian population where said civilian population was not collateral to the military objectives of the enemy forces but was the primary target of the mass murder operation. We are at war, declared by the enemies of the United States, and this war is waged against the United States by foreign aggressors of known national origin.

    If Congresswoman Pellosi and her sycophant colleagues don't "get it", they need to get used to the idea that future generations of Americans will condemn their refusal to enlighten themselves on the facts of the circumstance as tantamount to treason by omission and failure to defend the lives of the people they represent and failure to defend the Constitution for the United States. Their legacy of betrayal will find itself in the same dustbin as the failed ideology that threatens this great nation.


    Thursday, July 29, 2004

    Pelosi, Democratic Leaders Hold Roundtable Discussion with Muslim American Leaders

    American Jihad: The Terrorists Living Among UsThis is the Democratic party in action. Words escape me.

    This appears to be is the same group of which Chuck Schumer (someone pinch me, I can't believe I'm agreeing with him) said, "we know [CAIR] has ties to terrorism." The same CAIR that -- according to Frontpage Magazine -- was directing donations, ostensibly targeted for the NY/DC Emergency Relief Fund, to Hamas. The same CAIR that then changed their solicitation efforts to aid the "Holy Land Foundation" (now under indictment) and the "Global Relief Foundation", which the Treasury Department states, "...has provided assistance to Usama Bin Ladin, the al-Qaeda Network, and other known terrorist groups."

    July 15, 2004 - House Democratic Leader Nancy Pelosi (D-CA), Congressman John D. Dingell (D-MI), Congressman John Conyers (D-MI), Congressman Charles Rangel (D-NY), and other Congressional Democrats were joined yesterday by national leaders of the Muslim American community in a roundtable discussion on issues of mutual concern to Democrats and Muslim Americans. The discussion centered on working together to defend civil rights and to restore civil liberties.

    "This discussion is only the first in an ongoing dialogue between Congressional Democrats and Muslim Americans," Pelosi said. "We share a fundamental principle - the belief that diversity is the backbone of our communities. Generations of Muslims have made positive contributions in every aspect of American life. We must now work even more closely to navigate through the challenges we face as a nation."

    "Since September 11th, many Muslim Americans have been subjected to searches at airports and other locations based upon their religion and national origin, without any credible information linking individuals to criminal conduct," Pelosi continued. "Racial and religious profiling is fundamentally un-American and we must make it illegal.

    "When the Patriot Act was enacted, it was intended to be accompanied by strong Congressional oversight to prevent abuses of our civil liberties. That oversight has not occurred, particularly with the mass detention campaign ordered by Attorney General Ashcroft, which to date has led to more than 5,000 foreign nationals being detained since September 11th. Moreover, individuals' assets have been frozen on the basis of secret evidence that they have no opportunity to confront or rebut, and such processes are a fundamental denial of due process. We must correct the Patriot Act to prevent abuses of our civil liberties."

    CAIR Web Site: Pelosi, Democratic Leaders Hold Roundtable Discussion with Muslim American Leaders


    ...The following Democrats also participated in the discussion: former Democratic Whip David Bonior of Michigan, Congressman Gregory Meeks of New York, and Congressman Nick Joe Rahall of Wyoming.

    "We appreciate the opportunity to interact with national leaders and to share the Muslim community's concerns on issues of mutual concern," said the Legal Director of American of the Council on American-Islamic Relations (CAIR), Arsalan Iftikhar, who participated in the meeting...

    ...CAIR, America's largest Islamic civil liberties group, has 28 regional offices and chapters nationwide and in Canada.

    Stop Racial Profiling Of US Muslims: House Democratic Leader

    Lessons of the Holocaust

    This is the Europe with which John Kerry believes we need to rebuild our old alliances.

    Anti-semitic incidents are accelerating at such a rate in France that Jewish Agency officials believe tens of thousands of Jews may immigrate to Israel — and a top Nazi hunter is urging them to get out now.

    The prominent French Nazi-hunter Serge Klarsfeld bluntly told the Jerusalem Post this weekend that French Jews would be better off leaving their country.

    "One of the lessons of the Holocaust is that even if you want to fight against a wave of anti-Semitism, the best [thing] is to leave if you can," he said, and noting Arab-Jewish tensions he added: "There will be an escalation of attacks [against Jews] in Europe, and especially in France."

    Many Jews Set To Flee France

    Democrat Edward Koch: Why Bush Must Be Re-elected

    I support the re-election of President George W. Bush. Why? Because I believe one issue overwhelms all others: the president’s strong commitment to fight the forces of international terrorism regardless of the cost or how long it takes to achieve victory.

    I do not agree with President Bush on a single major domestic issue, but in my view those issues pale in comparison with the threat of international terrorism.

    Osama bin Laden and Abu Musab al-Zarqawi, the evil poster boys of mass murder, are revered and supported by millions of Muslims throughout the world. The stated goal of al-Qaida and its supporters is to kill or convert every infidel, and that means Jews, Christians, Buddhists and everyone else who will not accept Islam’s supremacy.

    These terrorists are convinced that non-Islamic nations do not have the will and courage to persevere in this ongoing struggle, which could last decades. They believe the democracies are weak-willed and will ultimately yield to whatever demands are made upon them...

    ...On entering this war against terrorism after 9/11, President Bush said, “We shall go after the terrorists and the countries that harbor them.”

    This Bush Doctrine rivals in importance the Monroe Doctrine, which limited the colonization efforts of foreign powers in the Western Hemisphere, and the Truman Doctrine, which contained the spread of Communism. President Bush has proven that he is prepared to keep to his commitment to fight terrorism.

    If John Kerry were to win this presidential election, would he stand up to terrorism to the same extent as George Bush has? I don’t think so. Regrettably, my party, the Democratic Party, now has a strong radical left wing whose members often dominate the party primaries...

    Why Bush Must Be Re-elected, by Edward Koch, Democrat

    Wednesday, July 28, 2004

    The New France

    American Jihad: The Terrorists Living Among UsFrance is Not a Western Country Anymore
    By Guy Milliere March 31, 2003

    French-bashing is everywhere in the American media. I am French, and I must say if Americans knew completely what's happening in France, the French-bashing would be far harsher.

    Jacques Chirac has been a friend of Saddam Hussein for more than thirty years. He allowed the sale of nuclear facilities to Iraq that were destroyed just in time by Israël. He sold Iraq the planes that were been used to gas thousands of Kurds. And Saddam is not the only friend Chirac has. Chirac has never met a ruthless dictator he did not like. Worse, Chirac is unprincipled and greedy. It is common knowledge in France that he stole a lot of money when he was the mayor of Paris, and everyone knows that if he had not been re-elected in May 2002, he would be in jail now. To hear him speaking about morality or international law nauseates every decent Frenchman.

    And Chirac is not the only politician of this stripe in France. These days, it is becoming hard to find a French politician ready to speak about human rights, freedom or democracy. All of them seem to have the same speechwriter or to belong to the same totalitarian political party; all of them are anti-American, anti-Israeli and "pacifists." They regard Western civilization as something filthy and abhorrent.

    If you read the newspapers, it's the same. At times it seems the only difference between the Soviet Union twenty years ago and France today is that in Soviet Union you had only one Pravda, and in France you now have at least ten such propaganda outlets: Different titles, same content. Their party line is clear in reporting on the personalities found in the present Middle Eastern crisis. Saddam Hussein, the "President of Iraq"? Well, maybe he has been brutal, but you know, in "those" countries... George W. Bush? He’s a "moron" - a former alcoholic, who has become a crazy fanatic, in fact the most dangerous man on the face of earth. Ariel Sharon? A fascist who loves to kill Arabs. Arafat? A great freedom fighter. When an American general speaks, it is merely propaganda, but when Tariq Aziz pontificates, it is pure truth. Almost everyday you hear anti-Semitic remarks, to boot.

    The anti-Semitism has created a threat to the physical safety for French Jews. Almost every week, some Jews get mugged, simply for being Jews. Almost nobody pays attention to it. When an anti-Semitic act is so disgusting it is impossible to hide it, journalists will speak of "confrontation between communities." When confronted with the reality that these "confrontations" are always Muslims attacking Jews, the editorial response: "Just because there has yet to be a single documented case of a Jew attacking a Muslim yet doesn't mean it will never happen. . . ."

    And Jews are not the only victims of France's new identification with radical Islam. In many French cities with a growing radical Islamist population, no teenage girl can go out in the evening, at least not without a full burqa. If she does, it will mean that "she is for everybody": in short, a whore. In the same cities, every teenage girl - regardless of religion - has to wear the Muslim veil if she does not want to be harassed or killed. Almost every month, a young woman is mugged and raped in a suburb of a big city. Gang rape has become so frequent that a new word, used by the rapists themselves to define their hideous actions, is used by everybody: tournantes (revolving). To the rapists, the woman is nothing, a mere object to be thrown away after use. The people who speak about "revolving" seem to forget a human being is involved as the victim. Policemen do nothing. Every decent person knows the problem is Islam, but no one dares to say it. It could be dangerous. The streets are not safe.

    One year ago, a French Muslim decided to create a new business: he was tired of seeing people drinking Coca-Cola - all this money going to Americans! He found a factory and started to produce Mecca Cola. On the label, he put a picture of the Al Aqsa mosque, with a large part of his profits would help to support the Palestinian cause. In some suburbs of Paris, Coca-Cola has disappeared; Mecca Cola has replaced it. A few days ago, another Muslim businessman announced he will start to sell Muslim-Up. It will have the taste of Sprite or Seven-Up, but it will be a Muslim drink - and naturally the profits will go to the Palestinian jihad, as well.

    Three radio stations in France are Muslim radio stations, and if you listen to them, dedicated to broadcasting the voice of hate and racism all day long. One radio station belongs to a friend of the rightist Jean-Marie Le Pen, and curiously, if you listen to it, you will hear the same voice of hate and racism. Rightists and radical Muslims have discovered they have many things in common.

    If you want to understand why all this is happening, you have to understand one thing: thirty years ago, French governments started to have a new foreign policy. They called this new policy, "Arabian Policy." France became closer to Arab countries - all of them disgusting dictatorships. France "benefited" by doing business easily in these countries. In exchange, France had to push Europe to unknot its ties with Israël and the United States. In exchange too, "professors" came from the Arabian dictatorships to teach the Arabic language to the young Arabs living in France. The only book they used to teach the Arabic language was THE book, Al Kuran.

    Now comes the time to pay the check: six million Muslims live in France, at least ten per cent of them are radical Islamists poised on the edge of violence. And these radical Muslims have allies on both the extreme Left and the extreme Right. France is not a Western country anymore, it is now the leader of the Arab/Muslim world. Israel has to know France is its main enemy. The United States has to understand they have nothing to expect from today's France except nastiness, treason, and cheating.

    Frontpage Magazine

    Tuesday, July 27, 2004

    Mr. Carter's Peanuts

    The Real Jimmy Carter: How Our Worst Ex-President Undermines American Foreign Policy, Coddles Dictators and Created the Party of Clinton and KerryI usually ignore silly people, especially an ineffectual former president who was vilified for years by his own party. Can you guess who it is? Wait for it... wait for it... the suspense is building... okay, here's a hint: he's a former peanut farmer and a nuclear scientist. Give up? Yes, it's none other than Jimmy Carter, who was trotted out yesterday evening under the banner of the Democratic National Convention after years of being persona non grata at these soirees.

    I got a bit enraged listening to Carter's speech. The man who emboldened the Soviets sufficiently that they rolled into Afghanistan, who led America through more than 400 days of suffering during the Iran hostage crisis, who singlehandedly helped destroy the economy with record-setting interest rates... well, I'm getting upset again. Here are some snippets of his speech in bold, with my remarks interspersed throughout.

    Today, our dominant international challenge is to restore the greatness of America—based on telling the truth, a commitment to peace, and respect for civil liberties at home and basic human rights around the world.

    George W. Bush, by destroying Saddam Hussein's genocidal regime, did more for basic human rights around the world than any 'commitment for peace' you could name. Tyrants only bow to power, a lesson, Mr. Carter, that you never learned but Hitler and countless other brutal dictators did. And millions of Iraqis thank us, despite an insurgency that no more represents the Iraqi people than you represent us. And a million dead Rwandans wish that the last Democratic administration had had the guts to act in this way.

    After 9/11, America stood proud, wounded but determined and united.

    After 9/11, America was anything but proud! America was stunned and angry. And, then, even the left was angry enough to clamor for war against anyone who harbored terrorists. Guess what, the left has forgotten the pain of that day already. They've forgotten who harbored terrorists like Abu Abbas and Abu Nidal. Forgotten who had a Boeing 707 designed to train hijackers. Forgotten who funded numerous terrorist attacks. And forgotten who used WMDs on his own people. That would be Saddam Hussein, for whom the left now acts as apologists, because he didn't have a laminated 'al Qaeda' card in his pocket.

    Unilateral acts and demands have isolated the United States from the very nations we need to join us in combating terrorism.

    So we should consult France if we want to pursue a war on terror? Your failed policies would say yes, but I would err on the side of caution, especially when a mistake could mean the detonation of a WMD in one of our cities. But you neglected to mention the real risks of failing to act... didn't you, Mr. Carter?

    Let us not forget that the Soviets lost the Cold War because the American people combined the exercise of power with adherence to basic principles, based on sustained bipartisan support.

    Wow! I'll say this. You've got some cojones. You and John Kerry opposed everything Ronald Reagan fought for. Kerry, as an example, claimed that our military buildup was, what was it he said? Oh, that's right, "The Reagan Administration has no rational plan for our military. Instead, it acts on misinformed assumptions about the strength of the Soviet military and a presumed 'window of vulnerability' which we now know not to exist."

    And you call that bipartisan support. That's what we call a 'whopper'. And I'm damn glad you and Kerry weren't our key strategists then. The Cold War might still be underway. Thank God for Ronald Reagan and his approach to dealing with the Soviets. You should never mention the Cold War again - that's an abomination.

    Recent policies have cost our nation its reputation as the world's most admired champion of freedom and justice. What a difference these few months of extremism have made!

    Here's a better definition of extremism. Flying four planes into civilian targets as guided missiles and killing 3,000 innocent people. That's extremism. We didn't declare this war. But if we are to survive, we better fight it. And if you can't figure out that Afghanistan and Iraq were only stepping-stones in the war, well, I've got even less respect for you than I had before. Although I don't really think that's possible.

    ... we need John Kerry to restore life to the global war against terrorism.

    And, do tell, this is the same John Kerry who spent over twenty years (when he attended Senate votes, that is) opposing every major weapons system and intelligence funding effort? With a track record that earned him the coveted title of 'most liberal Senator'? Yes, I think you're describing the same John Kerry. And counting on someone with that track record to wage a 'global war on terrorism' is akin to putting Pee Wee Herman in charge of Special Ops.

    Elsewhere, North Korea's nuclear menace—a threat far more real and immediate than any posed by Saddam Hussein—has been allowed to advance unheeded, with potentially ominous consequences for peace and stability in Northeast Asia.

    I wonder which administration tried to appease the North Korean government while they secretly stoked their nuclear weapons program? I'm having trouble remembering who. Oh, that's right, it was the Clinton administration led by the naive 'negotiation' techniques of Madeline Albright. That's who we have to thank, and it will take a Republican administration another few years to clean that mess up.

    Ultimately, the issue is whether America will provide global leadership that springs from the unity and integrity of the American people or whether extremist doctrines and the manipulation of truth will define America's role in the world.

    Exactly. I couldn't have said it better myself. So, in other words, you're telling us we should vote for George W. Bush. Clever how you wove that into a speech at the DNC! Well done!


    By the way, as I write this, I'm listening to keynote speaker Barack Obama. Now, that's a democrat who truly could be president someday (you heard it here first). Kerry's personality, charm, and charisma are running on empty. Mr. Obama appears to be pegging the meter. He could be a democratic Schwarzanegger.

    The Company that protects your network

    I guess you could call it ironic. Perhaps just an honest mistake. But the company that protects so very many networks has left itself open for a... well, you be the judge.

    Google search on - "confidential" "do not distribute"

    Actually, they are probably better (by far) at network security than most other technology vendors. It's just a tiny example of how hard execution of a cohesive strategy around authentication, authorization, access control and document management truly can be. And, yes, I ended that sentence with a preposition. Because it just sounded better.

    Monday, July 26, 2004

    Juicy Search Engine Stuff

    Effective Java Programming Language GuideI noticed (thanks to a JOS post) that MSN is escalating it's all-out war with Google. Performing an MSN search on World War 2 yields the standard set of sponsored sites, normal results, and... wait for it.... wait for it... a full-blown Encarta (online encylopedia) entry. Pretty neat. Still, let's stack 'em up on integrated features other than raw search:

    Feature Google MSN
    Integrated Dictionary Yes No
    Calculator (e.g., 3+333) Yes No
    Encyclopedia No Yes

    Looks like Google's still in the lead.

    Programming Language Ratings

    One of the cooler sites I've seen recently is TIOBE's Programming Community Index for July 2004. Using search engines, usenet postings, and related techniques, the site gauges the popularity of the top fifty or so programming languages. Here are the current trends. Hopefully this qualifies for fair use, given my link :-).

    Click on the picture to visit their site and to see all of the rankings.


    Reckless DisregardI'm certainly willing to give Sandy Berger the benefit of the doubt, but the simple question must be asked: why? Can't someone -- anyone -- answer that question?

    Commentator Mark Steyn says it best, as he explains Sandy Berger's series of "honest mistakes": "By his own words, he's guilty of acts that any other American would go to jail for. He ‘inadvertently' shoved 30-page classified documents down his pants and then ‘inadvertently' lost them at home and then ‘inadvertently' returned to the National Archives to ‘inadvertently' take another draft of the same 30-page document and he ‘inadvertently' lost that, too. He ‘inadvertently' made forbidden cell phone calls from the room with the classified documents, and he ‘inadvertently' took more suspicious bathroom breaks while in the Archives".

    If the Democratic propagandists had their way, they would have us convinced that the hoopla surrounding Sandy Berger is much ado about nothing. In essence, they're insulting our intelligence by telling us: "Nothing to see here, just keep moving". Remember the stance of Democratic operatives when the Whitewater billing records were miraculously discovered on a table in Hillary Clinton's private quarters in the White House? Mind you, these were the same documents that Senator Alphonse D'Amato had been diligently seeking over a period of time for a Senate investigation. Here's the deal -- When Democrats are caught in incriminating circumstances, their spinmeisters nonchalantly maintain that "things just happen" – there's no rebuke, no accountability.

    And, of course, the Democrats adeptly cast blame on others in efforts to divert attention from their outrageous behaviors. Sandy Berger is one of their own, and they're going to protect him. His friends and colleagues are chalking-up his current situation to "carelessness" on his part. Really, even if Sandy Berger was a harebrained sloppy klutz, that still wouldn't excuse him of shoving top-secret documents down his pants – but I digress. Unfortunately, the Democrats can often spin with impunity since their allies, the major news media, aren't about to criticize them.

    Berger Probe Intriguing

    Saturday, July 24, 2004

    Furey Workout

    Matt FureyAfter a near-catastrophic neck injury last year (memo to self: never have 180 pounds land on head), I was forced to change my workouts.

    I had spent years lifting weights. 23 years, to be exact, and my body definitely felt the abuse. Joints creaked and popped; and my climbing ability was, shall we say, a tad less graceful than that of a Sherpa. The injury and subsequent (and still in-process) rehab, detailed in another blog entry, forced me to change my approach.

    I started off simply doing the basics: riding the recumbent bike four times a week for 30 to 35 minutes. Lifting on Mondays and Fridays consisting of pushups, tricep pushdowns, lat pulldowns and curls on the Hammer machine, the latter three with very light weights and a lot of repetitions.

    Then I read about Matt Furey. Furey is a somewhat accomplished martial artist with an interesting approach to workouts. He sells both books and videos (both of which get very mixed reviews) on a variety of fitness topics, including his "body weight workouts".

    Furey describes a variety of exercises that I had never, ever heard of. I'm pretty well-read and like to read about fitness, workout programs and the like. Yet I'd never come across "Hindu Pushups", "Hindu Squats", "Reverse Pushups", "Wall walking", and "Bowing".

    I perused Usenet and found some decidedly mixed reviews of his commercial material. But the gist of the comments seemed to be, "it's pretty good stuff, but the info is all over the Internet, you don't need to spring for his overpriced stuff."

    Anyhow, I'd recommend getting the Furey book if you're a relative novice at training. But if you're an old hand at resistance training, check out Clarence Bass' site for some basic information. It seems as though it's a pretty good combination of strength training and yoga without the need for separate resistance and flexibility workouts.

    Anyhow, I've been doing the workouts for a couple of weeks now. Prior to my injury, I could bench-press 225 pounds as many as 21 reps. Post-injury, I'd worked up to 51 straight pushups (chest to ground). But I maxed out at only 12 Hindu pushups the first time I tried.

    So here's my workout that involves zero free-weights:

    1) Three sets of Hindu pushups
    2) Three sets of diamond (close-grip) pushups - super-set by moving to knees when exhausted
    3) Three sets of pullups
    4) Five sets of curls using chin-up bar - basically, a very short form a of a chin concentrating only on biceps

    I'm not doing Hindu squats with any regularity due to the large amount of bike riding I'm doing. And the wrestler's bridges are... a little too risky given the synthetic disc in my neck. But I'll keep you -- my valued reader -- up-to-date on this momentous topic should any noteworthy results arise.

    Clarence Bass introduces Matt Furey's Workout

    Monday, July 19, 2004

    Java: 2010?

    Effective Java Programming Language GuideI've always appreciated Java for its O-O purity and the clarity of its original mission. But I'm having a hard time understanding its role in the democratized Internet, where everyone has lots of bandwidth, but no one has extra time.

    What's that have to do with Java? Let's take a look at some of the sites I peruse on a regular basis --- and make a guess as to their application serving technologies.

    ISAPI  eBay (.dll extension)
    Python ""
    PHP ""
    Perl? Hotmail (/cgi-bin/hmhome?)
    ASP MSN Calendar (calendarupsell.asp?)
    .NET Programming Tutorial's PHP Pages
    PHP DevCentral's Java Pages
    .NET Orkut

    Not a lot of Java out there in the wild, at least driving high-volume sites. And before you get after me about Amazon running WebLogic, I understand from a variety of credible sources that it is not even remotely related to a COTS WebLogic installation. It's been customized out the whazoo to yield maximum performance.

    So where does Java make its hay? As far as I can tell, it's mostly internal corporate applications - say, finance, insurance, banking, and the like. J2EE would appear to have made the most headway driving relatively low-volume, but high reliability, sites where transactional persistence, fault-tolerance, and distribution were requirements. Of course, it's been used in a lot of other places where it probably shouldn't have been (e.g., a single-server web application where PHP or ASP.NET could be used in a fraction of the time).

    But the trend appears obvious to me. The high-volume sites use PHP, sometimes C++/C, Perl, Python and related brute-force performance-oriented technologies.

    Java didn't make it in the applet world. Regarding mobile technologies, I'm having a hard time believing that if a 512 MB, 3 GHz CPU can't run applets fast enough, that J2ME will provide the blistering performance we expect of embedded systems with limited CPU and RAM.

    Java's development tools still have a long way to go to reach the level of Microsoft's.

    From a career perspective, yes - you can search and come up with a lot of Java reqs. And you will be able to for quite some time.

    But, strategically? I would be looking at technologies that provide higher bang-for-the-buck, whether it's raw performance or rapid application development.

    Maybe I'm missing something obvious, but I see .NET encroaching on Java's sweet spot of corporate apps because the tools (not the backend infrastructure) are superior. I see J2ME running into the same problems that applets did: embedded systems demand raw and predictable performance and I doubt that J2ME can answer the call.

    And I don't see JSP/J2EE app serving making any headway on the true high-volume sites.

    But, again, I'd love to hear about some specific sites that prove me wrong. Anything that keeps MSFT on their toes would seem to be good for the entire industry.

    Sunday, July 18, 2004


    Legacy: Paying the Price for the Clinton YearsExcellent collection of quotes on one of the message boards.

    "One ought never to turn one's back on a threatened danger and try to run away from it. If you do that, you will double the danger. But if you meet it promptly and without flinching, you will reduce the danger by half."
    --Sir Winston Churchill

    "After everything that has been said about the German Chancellor today and in the past, I do feel that the House ought to recognise the difficulty for a man in that position to take back such emphatic declarations as he had already made amidst the enthusiastic cheers of his supporters, and to recognise that in consenting, even though it were only at the last moment, to discuss with the representatives of other Powers those things which he had declared he had already decided once for all, was a real and a substantial contribution on his part. With regard to Signor Mussolini, ... I think that Europe and the world have reason to be grateful to the head of the Italian government for his work in contributing to a peaceful solution."
    --Neville Chamberlain

    "The world has said this aggression would not stand, and it will not stand. Together, we have resisted the trap of appeasement, cynicism and isolation that gives temptation to tyrants."
    --George H. W. Bush

    "General Secretary Gorbachev, if you seek peace, if you seek prosperity for the Soviet Union and Eastern Europe, if you seek liberalization: Come here to this gate! Mr. Gorbachev, open this gate! Mr. Gorbachev, tear down this wall!"
    --Ronald W. Reagan

    "Today, our fellow citizens, our way of life, our very freedom came under attack in a series of deliberate and deadly terrorist acts. The victims were in airplanes, or in their offices; secretaries, businessmen and women, military and federal workers; moms and dads, friends and neighbors... None of us will ever forget this day. Yet, we go forward to defend freedom and all that is good and just in our world. "
    --President George W. Bush: September 11, 2001

    "Just three days removed from these events, Americans do not yet have the distance of history. But our responsibility to history is already clear: to answer these attacks and rid the world of evil. War has been waged against us by stealth and deceit and murder. This nation is peaceful, but fierce when stirred to anger. This conflict was begun on the timing and terms of others. It will end in a way, and at an hour, of our choosing."
    --George W. Bush, September 14, 2003 - Speech at the National Cathedral

    "...In such a world of conflict, a world of victims and executioners, it is the job of thinking people, not to be on the side of the executioners."
    --Albert Camus

    "Today we did what we had to do. They counted on America to be passive. They counted wrong."
    --Ronald Reagan

    "The path we have chosen for the present is full of hazards, as all paths are--but it is the one most consistent with our character and courage as a nation and our commitments around the world. The cost of freedom is always high--and Americans have always paid it. And one path we shall never choose, and that is the path of surrender or submission."
    --John F. Kennedy, October 22, 1962

    "I can run wild for six months ... after that, I have no expectation of success."
    --Isoroku Yamamoto predicting the future outcome of an attack on the United States

    "But America did not come to leave, and it will not leave no matter how numerous its wounds become and how much of its blood is spilled ... There is no doubt that the space in which we can move has begun to shrink and that the grip around the throats of the mujahidin has begun to tighten. With the deployment of soldiers and police, the future has become frightening."
    --Abu Mus'ab al-Zarqawi, regarding who's really winning the War on Terror

    "Igitur qui desiderat pacem, praeparet bellum."
    Translated: Therefore, whoever wishes for peace, let him prepare for war.

    "We are not fighting so that you will offer us something. We are fighting to eliminate you."
    --Hezbollah's Hussein Massawi

    "Only the dead have seen the end of war."
    --Believed to have been written by Plato

    "This ISN'T a "war-mongering thread" but a thread highlighting quotes from people who were patriots, and people who were pacifists and appeasers. The left today is the latter.

    The cost of freedom is often high, and many are not willing to pay it. Fortunately we have amongst us, those who will. One reason I admire George W. Bush so much is that he doesn't put his finger in the political wind and ask, "Will the pacifists hate me if I do this?" His foremost thought is, "Will this protect the country?" The foremost thought of the American left currently, is "Will this help John Kerry beat George Bush?" This is an unpatriotic and anti-American position, resembling that of the "Peace Democrats" of Lincoln's time who actively collaborated with Confederate agents to undermine Pres. Lincoln, in hopes of electing their "peace candidate."

    I stand, not on the side of war, but on the side of country. The "peace Democrats" of today stand only on the side of what is good for their political candidate. Is it possible to oppose the reelection of George W. Bush, and remain a patriot? Yes. Are the pacifists and appeasers now supporting now John Kerry doing so? No. They seem to have adopted the mantra, "Peace at any price, power no matter the cost" in attempting to unseat George W. Bush.

    History is littered with the political corpses of greater men than John Kerry who accepted the endorsement of such rabble. One more will be added as the leaves change this fall."

    It is a war mongering thread. and to compare Lincoln to Bush is not only laughable but pathetic. We are not in he throes of a civil war that threatens the union existance but some terrorists who want to destroy us.

    if it where that serious we would be sacraficing as a nation. we would all drive compact cars so to save the gas for the troops and send our extra hummers for the troops. I don't see any of that. In other words Kevin to call this as serious as the civil war. We need to see some hardships.
    I ain't seen none. Maybe you could point them out to the forum.

    "Read the book Reelecting Lincoln some time. The parallels are astounding. I never realized how much Lincoln was DESPISED by several factions of the north. At this point (mid-July), the wheels had come off, and NO ONE thought he was going to be reelected. At one point, one of Lincoln's young secretaries even made the comment that the opposition had to hope for continued bad news for the Union if they were to unseat Lincoln. Sound familiar? We are in the midst of a war against those who would destroy this union (the terrorists, and those who aid them). There are "peaceniks" amongst us that undercut our efforts at every turn. You have a choice to make, Al. You can either be loyal opposition, and discontinue the incessant attacks on Pres. Bush and the war effort, while still fully supporting John Kerry. This is the road chosen by honorable men like Joseph Lieberman, Evan Bayh, and Harold Ford. Or you can follow the treasonous path of incessantly attacking the president and the war effort. I am not saying it is unpatriotic to be against the reelection of GWB. I'm saying the tack taken by many prominent Democrats, and nearly all on this board, is nigh on treasonous."

    Kevin S. Bailey

    Friday, July 16, 2004

    My radio commercial

    The Many Faces of John KerryIt's time for Rove to take the gloves off and come after Kerry - with his own words and deeds. Here's a 60-second radio commercial I'd like to produce myself when I have enough time.

    [Pleasant woman's voice] John Kerry's track record is perfect. He's been wrong about every major world event since he became a Senator.

    John Kerry opposed the Cold War buildup of our military saying that the Soviets really weren't vulnerable.

    Kerry backed the pro-Communist Sandanistas in Central America.

    Kerry objected to the raid on Libya after it murdered American servicemen in Berlin.

    In the 90's, while Al Qaeda grew, Kerry voted to cut the intelligence budget four different times.

    Kerry claimed that the war on terror is a law-enforcement problem, that it's just a big manhunt.

    Kerry voted to cancel or cut funding for every major weapons system: the B-2, B-1, F-14, F-15, F-16, M1, Patriot Missile, Apache, Tomahawk... I'd go on but I'm running out of time.

    But, now, after more than twenty years of anti-military, anti-intelligence efforts, he's suddenly been transformed. Or is that simply because he wants to be president?

    Do me a favor. Send a copy of this to the RNC. It's time for Rove to take the gloves off.

    The Voice of John Kerry

    The Many Faces of John KerryI can hear it. The voice of John Kerry... it's from the past. Shhh.... listen, can you hear it?

    John Kerry on the Cold War in 1984, "The Reagan Administration has no rational plan for our military. Instead, it acts on misinformed assumptions about the strength of the Soviet military and a presumed 'window of vulnerability' which we now know not to exist." 1

    John Kerry on the Cold War in 1984, “We are continuing a defense buildup that is consuming our resources with weapons systems that we don't need and can't use.” 2

    John Kerry opposing the prevention of a communist takeover of Central America, “We believe this is a wonderful opening for a peaceful settlement…” regarding the Communist Sandanistas. 3

    John Kerry on Reagan’s anti-communist, pro-democracy policy in Nicaragua, “Barbaric”.

    John Kerry objecting to the US raid on Libya, after Gadhafi’s agents murdered American servicemen, “our response was not proportional to the disco bombing and even violated the Administration's own guidelines to hit clearly defined terrorist targets…", Kerry also said it was "repugnant". 4

    John Kerry on intelligence in 1997, during the midst of bin Laden’s rise, “Now that [the Cold War] is over, why is it that our vast intelligence apparatus continues to grow…?” 5

    John Kerry claiming that war on terror is a law enforcement problem, “[The War on Terror] will involve the military now and then, but will primarily be an intelligence gathering, law enforcement operation.” 6

    John Kerry’s record on military and intelligence, “[Kerry] voted against the first Gulf War in 1991... He offered an amendment to cut $1 1/2 billion from our intelligence funds at a time we were engaged in … serious intelligence work relative to the war against terror, a $300 million cut the year before the USS Cole was attacked, a $300 million cut the year before the embassies in East Africa were attacked, a $300 million cut the year before the Khobar Towers were attacked by the terrorists, two years after the first attack on the World Trade Center...” 7

    John Kerry’s record on the military, “[Kerry] voted to cancel or cut funding for the B-2 Stealth Bomber, the B-1B, the F-15, the F-16, the M1 Abrams, the Patriot Missile, the AH-64 Apache Helicopter, the Tomahawk Cruise Missile, and the Aegis Air-Defense Cruiser…” 8

    So far, Kerry’s record is perfect. He’s been dead wrong about everything of substance. And now, magically, he’s been transformed into a hawkish and tough, fiscal/military conservative. Right. Or has been transformed only for his political benefit?

    Who is John Kerry? Do you know? Is not knowing a risk that you, your children and your children's children are willing to take in this, the age of nuclear terror?

    1 Accuracy in Media, AIM Report: Kerry Subverted Reagan's Pro-Freedom Policies,
    2 ibid
    3 Accuracy in Media, Kerry and the Communists,
    4 Newsmax, Phony Praise for Reagan,
    5, Unmasking John Kerry,
    6 ibid
    7 CBS, “Face The Nation,” 2/22/04, Ed Gillespie interview
    The Boston Globe, “Taking One Prize, Then A Bigger One,” 6/19/03
    8 - Sen. Kerry Voted Against B-1 Bomber. (S. 3189, CQ Vote #273: Passed 79-16: R 37-5; D 42-11, 10/15/90, Kerry Voted Nay)
    - Sen. Kerry Voted Against B-2 Stealth Bomber. (S. 3189, CQ Vote #273: Passed 79-16: R 37-5; D 42-11, 10/15/90, Kerry Voted Nay)
    - Sen. Kerry Voted Against F-14. (H. R. 5803, CQ Vote #319: Adopted 80-17: R 37-6; D 43-11, 10/26/90, Kerry Voted Nay)
    - Sen. Kerry Voted Against F-15. (S. 3189, CQ Vote #273: Passed 79-16: R 37-5; D 42-11, 10/15/90, Kerry Voted Nay)
    - Sen. Kerry Voted Against F-16. (S. 3189, CQ Vote #273: Passed 79-16: R 37-5; D 42-11, 10/15/90, Kerry Voted Nay)
    - Sen. Kerry Voted Against AV-8B Harrier Vertical Takeoff And Landing Jet Fighters. (H.R. 2126, CQ Vote #579: Adopted 59-39: R 48-5; D 11-34, 11/16/95, Kerry Voted Nay)
    - Sen. Kerry Voted Against AH-64 Apache Helicopters. (H.R. 2126, CQ Vote #579: Adopted 59-39: R 48-5; D 11-34, 11/16/95, Kerry Voted Nay)
    - Sen. Kerry Voted Against Patriot Missiles. (S. 3189, CQ Vote #273: Passed 79-16: R 37-5; D 42-11, 10/15/90, Kerry Voted Nay)
    - Sen. Kerry Voted Against Aegis Air Defense Cruiser. (S. 3189, CQ Vote #273: Passed 79-16: R 37-5; D 42-11, 10/15/90, Kerry Voted Nay)
    - Sen. Kerry Voted Against Trident Missile System For U.S. Submarines. (S. 3189, CQ Vote #273: Passed 79-16: R 37-5; D 42-11, 10/15/90, Kerry Voted Nay)
    - Sen. Kerry Voted Against M-1 Abrams Tanks. (S. 3189, CQ Vote #273: Passed 79-16: R 37-5; D 42-11, 10/15/90, Kerry Voted Nay)
    - Sen. Kerry Voted Against Bradley Fighting Vehicle. (S. 3189, CQ Vote #273: Passed 79-16: R 37-5; D 42-11, 10/15/90, Kerry Voted Nay)
    - Sen. Kerry Voted Against Tomahawk Cruise Missile. (S. 3189, CQ Vote #273: Passed 79-16: R 37-5; D 42-11, 10/15/90, Kerry Voted Nay)

    Thursday, July 15, 2004

    Deliver us from Evil

    Memorial Day, by Vince FlynnI finished Sean Hannity's new bestseller a while back and finally got around to posting this review on Amazon.

    It would be easy to dismiss Sean Hannity as just another in a long line of long-winded, conservative pundits interested only in self-promotion. That's what I figured about his latest work. In fact, I only bothered to read this book because I'd nothing better to do while at the beach. It's a quick read - and much better, and more chilling, than I'd anticipated.

    Hannity devotes the first fifty pages to Nazi Germany. In one of the best, terse summaries of the Holocaust that I've ever read, he boils down the central failings of the left's inability to understand evil. When Neville Chamberlain returned from meeting with Hitler promising "Peace in our Time", it cemented the role of appeasement when dealing with despots. Tens of millions of needless deaths later, we can boil it down this way: appeasement -- when negotiating with evil -- is a precursor to mass murder.

    Moving on to the Cold War, Hannity points out the flaws of treating the Soviets as anything but evil. Estimates put the world-wide death toll of communism at around 95 million. That's 95 million people murdered through pogroms, death camps, and starvation.

    Yet the left, led by Jimmy Carter, was "in shock" when the Soviets rolled into Afghanistan. And, further, by failing to support the Shah of Iran (who, while a violator of human rights, was infinitely better for the Iranian people and stability of the region), paved the way for Saddam Hussein's war with Iran and the Middle East conflagrations in which we must engage today. Nicaragua, the gutting of the CIA, and other monumental gaffes were all due to a Carter administration that could not comprehend evil... and that it cannot be appeased.

    This, of course, led to the Reagan administration, whose intolerance for evil was famous. When Libya's agents murdered Americans in Berlin, Reagan pushed for an immediate response. The left, led by none other than John Kerry, equivocated. After Reagan bombed Qaddafi, Kerry wrote, "...there are numerous other actions that we can take, in concert with our allies, to bring ... pressure to bear on countries supporting or harboring terrorists." Reagan's results stand. Qaddafi folded his hand, and because the current administration crushed the A.Q. Khan nuclear parts network, Libya has reentered the international community.

    Hannity then moves onto the UN and 'the fraud of multi-lateralism' (another tenet of the left). As a peacekeeper, the UN required five months to raise 3,000 troops for Rwanda. As the situation dissolved, it passed resolutions. It embargoed arms shipments. Meanwhile, 800,000 Rwandans were murdered and 2,000,000 became refugees... all while president Clinton, Albright, and General Wesley Clark hemmed and hawed. The UN is a beauracracy, torn by conflicting interests, corruption and ill-will towards the U.S. As Hannity conclused, "...the Democrats will pound away with... politically motivated questions: Did we have to go to war? Should we have waited a little longer? Did the president shade the truth?.. The American people should ask a different question: When it came to protecting American lives, and preserving freedom around the world, whom do you trust to get the job done?"

    The final section of the book describes the post 9/11 world and the threat of terrorism. Rare voices from the left join in to support the president's aggressive pursuit of evil: Koch, Cuomo, Miller. But they are the exceptions. The left has turned the pursuit of evil into a political game, when in reality the stakes could not be higher. Hannity closes with his perspective on the fallacy of the left's willingness to hedge every argument for political gain... and what the future holds, on a country-by-country basis. He closes, "...we cannot prevail tomorrow without courageous leadership today. Our leaders will choose how we meet the challenges of the future -- with strength and conviction, or with cowardice and accommodation."

    The only nitpicks I have relate to Hannity's tendency to associate religious beliefs (and, specifically, Judeo-Christian theology) with a "correct" sense of morality. My belief is that morality -- good and evil -- should not be tied to religion if we are to walk in lock-step with the true spirit of the American founders. We are hopefully not engaged in a religious war. We are locked in a war with evil incarnate: the other side believes that anyone who fails to think as they do deserves to die. It is high time for the left to recognize that we are dealing with evil. And history's lessons are quite clear. Appeasement means disaster, especially in this, the nuclear age.

    Which party do you trust to pursue evil to the ends of the earth?

    Tuesday, July 13, 2004

    Obscure MFC Gadgets

    MFC Internals: Inside the Microsoft(c) Foundation Class ArchitectureLong ago, when I began developing shrink-wrapped software in MFC, I wish I'd had a few watch-outs pointed out to me. They would have saved me time, energy and more than a few hair follicles.

    CMap Hash Table Size

    CMap is a member of MFC's collection classes. It is a classic map in STL parlance; or "associative array" in the computer science world. One of the watch-outs for CMap is that the starting hash-table size is quite small (maybe 15, if I remember correctly). In any event, if you're expecting to load thousands of key/value pairs into the map, you could expect really crappy performance or you could utilize the following method:

    void InitHashTable( UINT hashSize, BOOL bAllocNow = TRUE ); // MSDN

    CMapStringTo... and Case-Sensitivity

    CMapStringToString and CMapStringToPtr are two of the pre-built classes that map string-keys to other strings or VOID pointers, respectively. Be careful when mixing case with the keys. I've frequently forgotten that the keys are case-sensitive and then spent awkward moments realizing my mistake.

    CMapStringToString mapNames;
    strShortName = "Doug";
    strCommonName = "Doug Ross";
    mapNames.SetAt(strShortName, strCommonName);
    // This won't work!
    strShortName = "doug";
    mapNames.Lookup(strShortName, strCommonName);

    So remember to lower- or upper-case your keys as needed when looking up values or setting new values.

    CArray Sizing

    CArray is a collection of, well, arrays. Here's my watch-out: for applications that need to add a bunch of elements to the the array (say, when you're collecting log messages or building a list of items to write to disk), use the second argument of SetSize.

    Ah, you may not have been aware that SetSize had a second argument. It does, and it is called the "grow-by" value. That is, if you frequently add large numbers of items to your array, it would be wise to jack up the "grow-by" value to a reasonable sum based upon the typical number of items added.

    By doing so, you'll reduce the need to re-allocate and re-copy large numbers of array items. If you don't set this appropriately, you could see bizarre delays as your array sizes grow. And then you could tell your customers that they need the "grow-by" patch.

    Other info

    And for a great collection of classes related to Win32 non-GUI tasks, I refer you to Sam Blackburn's Windows Foundation Classes, one of the finest free class libraries every assembled for Win32 development. They are the classes that Microsoft forgot and are, in general, quite helpful. For example: classes to manage ACL's and ACE's; a base-64 class, various socket (talker and listener) classes, XML parsing, mixer control, service creation and service-control management, and other useful tools.

    Windows Foundation Classes

    Saturday, July 10, 2004

    What's at Stake: 2004


    Geostar 45 satellite captures detonation moments after attack
    Islamic Group Claims Responsibility

    (FLASH/AP) At approximately 5:15pm EST yesterday, terrorists associated with Ansar al Islam detonated a 15 kiloton atomic weapon in the harbor near Manhattan's battery. Radio reports indicated that the terrorists were operating a speedboat and that a pursuit by the United States Coast Guard was underway when the explosion occurred.

    Three Nuclear Emergency Response Teams (NEST) were on the scene and initial casualty reports estimated as many as 75,000 dead and 250,000 wounded. Area hospitals were overwhelmed with cases of severe burns, radiation sickness, and major injuries. A triage facility was established at 103th street/Corona Plaza and all medical personnel were asked to report immediately to their respective facilities.

    A shaken president John Kerry addressed the nation via radio at 8 pm EST. "This dark day has tested the mettle of the American people," he stated, "our thoughts and prayers are with those who have died, and those who suffer. Time and time again we have risen to the challenge, defeating tyrants, extremists and dictators who would fight freedom. And this time, it will be no different. I ask all Americans to band together, to help your neighbors, to reassure one another in this dark hour. I can assure you that we will strike back. We will strike hard. And that justice will be done."

    Kerry went on to issue a presidential directive reinstating the Patriot Act, which had been dismantled less than twelve months after his election. He also declared martial law in New York, New Jersey, Washington DC, and Detroit, where National Guard troops were enforcing a curfew. There were unconfirmed reports of widespread looting and civil unrest in areas surrounding New York City.

    Economic Impact Felt Worldwide

    The New York Stock Exchange has suspended trading while operations are moved to a backup facility near Philadelphia. Redundant computer operations for most of Wall Street have ensured that account and trading information is intact.

    Oil prices skyrocketed to over $70 a barrel immediately after the explosion and then plummeted to $45 as the economic impact of a potential worldwide recession loomed.

    Gold shot overnight to 900/oz. and the value of the dollar fell nearly a third in overnight trading.

    The NASDAQ stock market intends to resume trading within the week, operating from its redundant Chicago facility.
    Retaliation: Shock and Anger

    Senior Pentagon officials tell the AP that war plans are underway and that a strategic nuclear response "is being contemplated".

    Former CIA Analyst Robert Acres told CNN that NEST is capable of determining the source of the nuclear material used by the terrorists. "When that source is located, I can assure you that there will be hell to pay."

    A CNN/Gallup Poll taken last night asked viewers which potential target would be struck first in a military response. Over 50% answered Iran, 25% North Korea, 20% Pakistan, 12% Mecca, 3% Medina, and 5% all of the named targets.

    There were unconfirmed reports from Norfolk, Virginia that Task Force 134, the US Pacific Fleet's Nuclear Submarine Group, had been ordered to the Indian Ocean.

    Continuity of Government

    Upon the first reports of the detonation, a Continuity of Government (COG) operation began moving the president, vice-president, cabinet, key congressional leaders, military and intelligence personnel to a secure facility in West Virginia. No further details were available at press time.

    Claims of Responsibility

    Within hours of the attack, a web site affiliated with the Al Jazeera network posted a claim of responsibility by Ansar al Islam reading "Praise be to God, we have the struck the enemy a shattering blow and we will strike again before it can recover. God is great, and thanks be unto God for delivering us this victory. We will fight the infidel crusaders wherever they may live, from this time forward, until they have been eradicated from the face of the earth."

    Harsh Criticism of Policy

    Hours after the attack, the president's critics were harshly reprimanding his dismantling of the CIA and the Department of Homeland Security, and his efforts to place the responsibilities of defense and intelligence-gathering with the United Nations.

    Former president George W. Bush, speaking from his ranch in Texas, said, "This is tragic in so many ways. The loss of life, the loss of property, the loss of confidence. But I firmly believe that this did not have to happen. The United Nations, or any multi-national coalition, cannot protect the United States. Only we can protect ourselves."

    Continued on Page A3.

    Thursday, July 08, 2004

    Software is my business

    Trouble is my business, by Raymond ChandlerThe old Alpha-vintage laptop yielded, among other things, this silly work of fiction starring several Alpha employees. Written in the Philip Marlowe-style of first person crime novels, it is stunning proof that software authors should not delve into other areas.

    Software is my Business
    by D. Ross

    What? Was that the sound of a helicopter landing? Nah, it was the phone jangling in my ear. My head felt like a jackhammer had been working on it for a couple of weeks. But maybe that was just the combination of the phone ringing and the fifth of Jack I'd accidentally drunk last night. It took some effort to lift my head off the bed.

    "Huh?" I grunted into the phone. "Ross!" It was my boss, 'Sel the Snake'. "Get the hell over here. We's got a problem." Then I heard dial-tone.

    I fell out of bed and slapped on a pair of Levi's, a black T, and a steel gray Armani blazer that was hanging over a chair. The rugrats were up, watching the Rugrats.

    The ball-and-chain was actually awake for a change, frying up a healthy breakfast of pork fritters and sausage links. A cigarette dangled from her lips. Her hair was up in curlers and the pink robe she wore looked like it had been dragged through the garden by jackals.

    "Do ya want some grub?" she asked, in a gravelly voice that only a longshoreman could love. "Shaddap", I intoned and slammed the door shut behind me.

    My 968 cabrio needed a wash the way people need to eat. I shrugged and sped North on 128, avoiding the speedtrap at Route 2A. Within a few minutes I was passing the Burlington mall. The parking lot at Alpha was full; I don't like to waste time walking, so I drove over the curb near the entrance and just parked on the grass.

    Sel was in his office near the front of the building. Half his time was spent keeping the customers happy; the other half was keeping the folks in the crew satisfied. I didn't envy his job a bit. My job, on the other hand, was real simple; sort of a 'trouble-shooter', with emphasis on the 'shooter'. When someone found a problem with our software, I took care of it, if you know what I mean.

    "We gotta problem with the Gates Family", Sel was speaking without even looking up. "Close the door." I eased the door shut and stood at attention. The Gates Family was the biggest crew in the country; most software didn't move anywhere without their taking a cut of the pie. And their cut was big.

    "See this?" Sel held up a box. It was the Gates' database software, called 'Axis'. "This is the new version. Gates and his crew aren't satisfied making 70% of everything in the trade. With this version, Gates is moving in on our turf." Sel was angry. Angrier than I'd ever seen him.

    He looked up at me and his eyes were piercing. "I want you to do a little job for me." He paused to light a Camel. "I want you to take care of Gates. Make sure he never writes another line of code or designs another GUI. Got it?"

    That was it. I was dismissed. It had finally arrived at this: taking down the biggest enchilada in the software biz. And me? I was caught - as usual - between a bulldozer and dirt. If I backed down on this job, Sel would see to it that I was worse than dead. And, if I managed to terminate the Gates problem, I'd most likely be hunted down for reprisals. Sweet - real sweet.

    I stopped by the front desk to check messages. Jolene, the receptionist, looked at me with her big, brown eyes. "So... you're back for more dirty work?" I just grunted. If she only knew.

    I stopped at the Registry of Motor Vehicles to see an old friend, Michele. She was a clerk with access to the Nationwide Drivers' Database. Better yet, she was a redhead with enough looks for two women. Her green eyes flickered as I walked in to her office.

    "What the hell do you want, Ross?". Yep, she still had a thing for me. "Let me guess, you need a rundown on someone...".

    I got right in her face. "You got that right, doll." I squeezed her arm for effect and she looked surprised. "Get me a rundown on Poppa Gates... the big guy. I need every bit of info you got."

    She looked stunned. "Gates? You're crazier than ever..." She stopped talking when I squeezed her arm harder... just enough to make her realize I was serious.

    Within seconds her fingers were dancing over the keyboard. She printed out a complete rundown on Gates and his organization. When she ripped off the last sheet from the printer, her face was flushed and her lips were parted. "Whatcha doin' tonight?" she whispered.

    So I'd squeezed her. The problem was, she'd always liked it. Liked it alot. She was panting, but I'd gotten what I came for.

    My eyes narrowed. "I'm busy, baby. Busy tonight and every night for the rest of my life." She was still looking at me doe-eyed when the door closed behind me.

    In the car, I dialed up Palooch. He was over at the bagel dump with Petie. I figured I would need some help on this job, and these two jamokes were the next best thing to human beings I could round up on short notice.

    I'd brought Palooch into the organization. He was still young enough to be eager, but he'd seen his share of bad coders. Petie was older and more experienced. He looked like a cross between a grizzly bear and... another grizzly bear.

    I pulled up to "Pig in a Bagel". Parked in the handicapped spot was a red NSX with dents on the front left quarter-panel. It was Palooch and Petie's ride. They were inside, facing the window, sipping on hot java and smoking cigars.

    I eased into the seat between them and dropped the stack of pages from the RMV. As they leafed through a few pages, I saw their expressions change. Petie rose up as if to leave. I hauled him back down.

    "You're f**kin' nuts!" He whispered. I stared him down. "No... WE'RE f**kin nuts. We're goin' to do this, cuz!" Palooch's eyes were wider than I'd ever seen. "Get down!" he yelled.

    We ducked as the glass around us was blasted into a million needle-shaped shards. Each of us already had our strap in hand. "That SOB's already onto us," Petie yelled.

    Palooch was peeking around the booth. "It was a coupla Micros with Mac-10's". Micros were what we called the Gates crew. We heard some tires peeling out and it woke us up to the sounds around us. Sirens were going off in the distance and there were sobs and whimpers from some of the diners lying face down among the weiners and mini-bagels.

    We hopped into our cars and sped back up the Middlesex Turnpike. In the lead, I spotted the tail end of a black Cadillac STS. It was bobbing and weaving along the two-lane highway and it had at least a quarter mile lead.

    I held my foot to the floor and the modified 968 surged forward with stomach-wrenching force. As I passed a rusty Volvo wagon, I glanced down and read 130. After passing a couple of more civilian rides, I was able to creep up to the tail end of the STS. Now the needle read 140 and we were approaching the intersection of the Turnpike and 62. And the light was red.

    Instantly, the STS' brake lights were blazing red too. I pulled the emergency brake on and was riding the brake pedal as hard as I could. The STS broke off into a flat spin as it headed into the intersection, wobbling over the uneven surface. As it faced me, I saw the two Micros holding on for dear life. Just then, an Egghead software truck broad-sided the STS.

    The next thing I knew, I was parked on someone's front lawn with a sprinkler giving my car a much needed wash. One of the Micros was prone on the grass, too, having been thrown out of the drivers' side window. The other Micro was still in the smoking wreck. They'd need a spatula to get him out.

    I wobbled over to the Micro on the ground. He was bleeding hard from gashes on his nose, forehead, hands, abdomen, and thighs, but otherwise appeared okay. His eyes flickered open. "You're history, Ross..." he slurred, "'re all done...".

    "You know how many years I been hearin' that?" I whispered back as I went through his pockets. He carried no wallet, no ID. These guys were pros. His strap was nowhere to be found. In one pocket was a Logan Airport parking ticket and I confiscated that.

    Palooch and Petie were parked on the Turnpike. Traffic had backed up behind them already, blocked by the smoldering remains of the STS and assorted game software. I jumped back in the Cabrio and dialed them up while I drove onto 62 westbound.

    "Meet me at Logan in Central Parking, as close to the front as you can get. And bring the jimmies."

    (Continued on Page 12)

    Wednesday, July 07, 2004

    Rescuing my Arcade Games

    LanePainter - one of a series of Windows arcade games by Doug RossA couple of nights ago, I powered on an old Dell laptop (circa '96) I had laying around. It started Windows 95 just fine and I quickly realized that it had a series of five Windows arcade games I'd developed then as freeware/shareware products. I'd only distributed one of the games (CutOut, a Qix knock-off, which was one of the top game downloads on AOL), but all five were pretty good (if I may say so myself, and I guess I just did).

    Well, I wanted to play them. And my kids, who'd grown up playing them, also begged to have them installed on their laptop. Thus began my journey, nay saga, to rescue my arcade games from an old, dying laptop.

    Try 1: Flooooopy

    The laptop had an integrated 3.5" floppy drive. I stuck a blank disk in and tried to copy. Error: device not ready. Tried another one. Same error. And another, with the same result. The floppy drive was working, but misaligned. I'm not exactly your prototypical hardware guru, so I decided to punt on the floppy route.

    Try 2: Email

    No problem, I'll just establish a dialup connection (I've always retained my AT&T Worldnet account from '94 - and am still proud of my three-letter email address In fact, I daresay my address is one of the shortest around. But perhaps I digress (ya think?).

    Grabbed all of my AT&T account info from another machine and established a new dialup connection. Hooked up an old Hayes 56K external modem I had laying around. Got dialtone, dialed, connected. Oh sh*t, user-name and password rejected. Disconnect.

    Try 3: Email, again

    I tried every dialup connection option available and finally got a good connection to WorldNet going. I have no explanation for the series of authentication failures (the account info was the same throughout). Anyhow, I'll just fire up a browser, go to web-mail and email myself the ZIP file of games.

    Hmmm, problem. Only Netscape Navigator 3 is installed on this antique. I fire it up anyway and see if AT&T's web-mail site will come up. Ugh... it can't seem to resolve the AT&T domain name. On another machine, I resolve the IP address of the site, and try the raw IP in the antiquated browser. Nothing. No response. I open up a DOS window and ping the site. I'm able to get raw IP packets through (so I know the IP stack is functional), but for some reason the browser won't connect.

    Just for the heck of it, I check its settings to see if a proxy had been configured back in the day. Nada. All settings look good.

    Try 4: FTP

    Okay, maybe a browser isn't the best approach. Besides, I don't think Navigator 3 would even survive a brush with the latest DHTML and Javascript, so maybe it's just as well.

    FTP! I open up a command-line FTP session with a server. Connects fine. Then I submit a command to upload the ZIP in binary with hash characters on, so I can see progress. After a few minutes of frozen nothingness, I cancel that out.

    Try 5: FTP, again

    Thinking I might have a memory issue -- meaning lack of memory, after all, this is an old box and just running Navigator is probably taxing it -- I shut everything down except the command window. Fire up FTP again. Ahhh, that's better, I'm able to upload the ZIP file at a blistering 28K baud. Saaahweeeeet. Argh! After about half of it is uploaded, the FTP just drops. Stops dead. And several retries don't do any better.


    So I managed to grab half of the ZIP file. A quick injection of pkzipfix cured the ZIP file enough to salvage the game binaries, but not the source. Maybe I'll try the process again later, after I grow a little more hair back out. Anyhow, here's the full suite of arcade games.

    Game name Similar arcade game
    CutOut QIX - fill in the blank space while avoiding nasties
    LanePainter Pac*Man - paint all lanes without slamming into traffic
    MazeKing Nothing - try to solve the maze without getting eaten
    RobotHunter Space Invaders - same general game play
    WallSmasher Breakout - similar game play to Breakout 2

    Feel free to email me for distribution details :-). A screen-shot of LanePainter, above, should only whet your appetite!

    Tuesday, July 06, 2004

    Using a 'Ben Franklin' to Decide

    Switching Careers : Career Changers Tell How and Why They Did It : Learn How You Can TooI saw a post on the JOS forum regarding changing jobs after a short period of time. Would a potential 20 to 30% salary increase make it worth jumping ship after only seven months?

    You may want to take a more quantitative approach. My Dad taught me long ago how to make a "Ben Franklin" when faced with a critical decision like this one.

    A "Ben" is nothing more than a matrix of criteria. Each item is assigned a value from 1-10. And each item is assigned a "weight" or level of importance. You choose the weight... it, too, should be between 1 and 10. Once you've assigned values and weights, multiply the each item by the weight. Then total up the final values.

    Here's an example:

    --- Factor (1-10) --- X Y Wght X Y
    Salary + benefits 8 10 8 64 80
    Stock + other 2 10 7 14 70
    Enjoyment of job 9 10 9 81 90
    Long-term stability 10 3 10 100 30
    Loyalty factor 10 1 10 100 10
    Commute 10 3 6 60 18
    Travel requirements 6 9 7 42 63
    Prestige 6 10 7 42 70
    Networking ability 3 10 6 18 60
    Stuck in one role 3 10 4 12 40
    Hours 10 5 9 90 45
    Weighted Totals 623 578

    You can see, in this case, that the highest paying job didn't total out the highest.

    In fact, my Dad also said: throw away all but the top five weighted items and add THOSE up. Because those are your true key metrics.

    Monday, July 05, 2004

    Remote Work

    Flawless Consulting : A Guide to Getting Your Expertise UsedFor reasons that will become clear, below, I want to discuss my experiences doing remote consulting work. Most of these occurred before the offshoring trend, so your mileage may vary.

    Back in the day, in order to earn extra money, I decided to do a little after hours consulting. Now deciding -- and doing -- are two very different things, a fact to which most who've pursued this type of work can attest. Let's face it, we don't see classified ads like this very often.

    WANTED: Experienced software developer willing to work from home for high hourly rate ($60-$100, DOE) on fun, challenging projects. Fixed-fee engagements also possible which can increase your effective hourly rate to $100+/hr. Fixed-fee project payment terms usually 50% up front, 50% upon acceptance test. Email xxx@xxx with CV.

    The reason is obvious. Most developers would chop off a pinky to have a sweet gig like that. The competition (ahem, supply) for this type of work is plentiful, thus the demand is very, very low. You can find an off-site developer anywhere due to the nature of the work (i.e., sitting at home in front of your PC, in your undies, chillin' with some tunes)... thus, rates will be very competitive.

    Back to the story. Way back when, I used to hang out in several online communities like "C Programming Language Freaks". The whole spectrum of whacked-out developers arguing over struct usage, if there would ever be a valid use for syntax like *****p (and, yes, I think I saw someone's code that actually did this... once).

    Some guy from Toronto named Curtis got on the board. He posted a message that said, basically, "Hi, I need a really good C developer for a product I'm working on. It's in Visual Basic, but I need some libraries written in C that will speed the thing up. It's ghastly slow!".

    I was probably one of the first to respond and we got a good rapport going via email. I had as much C experience, if not more, than most of the other denizens of the board... and (bonus!) I wasn't a C snob who looked down on "clueless VB'ers".

    Curtis was looking for a DLL that would provide a very high speed search capability for text and binary files. In addition, it needed to recognize numbers and dates in every format imaginable. For instance:

    Sept. 4, 2004
    September 4, 2004

    One thousand and twenty four
    One thousand, twenty-four
    One thousand and twenty-four
    A thousand twenty four

    All of this free-form text needed to be searched correctly. And the task even included comparison searches (e.g., "find all documents with dates greater than September 4, 2004").

    We agreed on a price for this functionality (I don't think it was very much, probably a few thousand dollars). I think the effective rate was perhaps $50 an hour, but it was quoted as a fixed-fee job (for the stated requirements).

    Curtis was pretty happy with the result. As an old assembly hack, I squeezed out every ounce of performance in the library. It was pretty damn quick. In fact, he was so ecstatic, he asked the following in his Canadian accent, "Look, I want to buy you a gift. I would like to get you a very nice hooker and a bottle of champagne. What address should I have her come to?"

    It's not every day a client is so delighted with your work that he's willing to spring for a lady and liquor. Actually, it's never happened before or since. Of course I politely declined the offer.

    I ended up writing several other libraries for his product (a very popular shareware product that is still sold today). One of the DLL's was very challenging... a complete print and print-preview subsystem for his documents. And let me tell you: that will teach you something about display contexts!

    In fact, months after delivery of that module, Curtis discovered some issue with a certain printer. I wrangled with it for a while and finally told him he would have to pay an hourly rate for that type of change. I'd been spending way too much time on hacks for odd-ball printers and displays.

    He said, "Douglas, I thought we had a fixed-fee agreement, you should fix these things as part of the original fee."

    My response was, "Curtis, if you go to the Dentist and get a cavity filled... and three months later you have another cavity, does the Dentist charge you once or twice?"

    He saw my point.

    Remote Work, Part Deux

    My friend Bored Bystander posted an excellent summary of his experience pursuing some remote consulting work. BB has achieved some notoriety through his well-written missives on the JOS forum. In this case, he happened to smell a scam regarding software consulting. The article documents the leg work he undertook in order to nail down a very bad egg.

    Have you ever wondered if those online auction sites like Elance, RentACoder, etc could be a viable way to make a living?
    I mentally discounted this avenue years ago. But recently, a friend showed me an online solicitation for remote software work that was tempting.
    This is simply a literal account of the communication between me and this person, one "Mike Chen".

    Bored Bystander on Remote Work