I ran into this on Google news… “Britain’s new prime minister, Gordon Brown, has disappointed American and British critics of the war in Iraq by declaring that he believes the West is involved in a “generation-long battle” against radical Islamic terrorism, that he believes the American mission in Iraq is worthwhile, and that he will stand by President Bush in his efforts to promote democracy in Iraq and in the rest of the Middle East.” – New York Sun

…I thought Blair was removed because he is anti-Iraq! Isn’t that a big part of why Brown was elected (technically he was “selected” through votes from his fellow labor party members)!?! I’m confused. Could he have come to this conclusion rationally?

Apparently the media led me astray on the new prime minister’s stance on The War.


July 28, 2007

Rough Draft

As a kid I remember driving down the street when I saw a dog randomly jump out of its window. It bounced and rolled to a stop, probably injured but obviously not dead.

It bothered me enough that I sat down somewhere and decided not to get up until I’d figured it out. Eventually, right before dinner, I came to the conclusion that it wasn’t random. The driver shouldn’t have had his window down because dogs don’t understand the dangers of driving.

If you throw a set of dice do they land randomly? …Doesn’t your hand’s position, sweat, force, twist, etc. really determine what happens? I think so. But that doesn’t prove randomness is a physical impossibility, it simply proves throwing dice isn’t random. …Or isn’t it? Suppose the person throwing the dice doesn’t know the shape of the surface they’re throwing a dice on? From the throwers perspective it would defiantly be random, but I don’t think their perspective changes the cause of the effect. So this is still defiantly not truly random in my book.

Look at the picture of computer generated “random” numbers below. Squint your eyes and you’ll see a pattern formed by the shapes of each letter and their spacing.

This might seem like a random pattern, it certainly doesn’t resemble any common objects. But this pattern isn’t. It’s the effect caused by aligning these particular numbers by their decimal point, sorting them from smallest to largest and spacing them evenly apart. Each of those factors may have been determined by different people, or other computer systems, but ultimately we know the pattern is the effect caused by these factors.

Towards my point, the computer generated “random” numbers aren’t random either. They are usually based on the number of nanoseconds since 1980, than multiplied by many math formulas. Surprised?

Did you know computers can’t even divide properly? It’s true. Actually division brings up an interesting sub-topic: Did you know the idea of having two equal halves of anything is a physical impossibility? Two values can always be measured more accurately and divided more evenly, and no two things (of any kind) are exactly alike. Upon close inspection everything is unique.

People have been fascinated by the idea of randomness throughout history. In ancient times they cast lots to both gamble and tell the future. Today we do the same thing. On the one hand our sciences all acknowledge that nothing is random. On the other hand we use “randomness” as the basis many seemingly rational things.

It seems that there are two small decided groups, those who believe nothing is random and those who believe everything is, while the majority of people tend to think it depends on the subject. …Which makes no sense to me …But then again, who am I? Just some random guy. 😉

So, what exactly does the word Randomness mean?

Princeton defines Randomness as…

Lacking any definite plan or order or purpose; governed by or depending on chance; “a random choice”; “bombs fell at random”; “random movements”. taken haphazardly; “a random choice”

Click here for my source

Wikipedia defines Randomness this way…

In ordinary language, the word random is used to express apparent lack of purpose or cause. This suggests that no matter what the cause of something, its nature is not only unknown but the consequences of its operation are also unknown.

Click here for my source

Why is there such a critical discrepancy between Princeton and Wikipedia? I think there are two reasons; 1) Wikipedia has a big culture with many perspectives. Mathematicians, etc. wouldn’t allow the article to misinform. Mathematicians know randomness hasn’t been quantified. That’s where the theory of probability actually came from. …And yeah, they never figured it out.

I prefer Wikipedia’s definition. Everything seems to serve a purpose. In fact, I can’t find a single thing that doesn’t. Maybe you’ve had better luck?

Beware of Poison Oak

July 27, 2007

This what my dad normally looks like…

This is what he has looked like all week…

Apparently my dad wondered into some Poison Oak dirt biking. About a week after riding (which is common) his whole body broke out with a nasty rash.

Apparently it’s also very itchy, and where the rash wasn’t on his face his skin was a nasty green color. This happened because he’s allergic to Poison Oak, but many people are.

…Maybe this painful picture will help you remember a few things about Poison Oak.

This is what Poison Oak looks like…

This is how it gets you…

  1. You brush up against leaves with bare skin.
  2. The oil soaks into your skin.
  3. If you’re allergic, you breakout.  …I am so glad I’m not.

This is what you should do if you’re exposed…

There isn’t a lot you can do.  If you are exposed you should take a long shower as soon as possible. …And don’t use the hot water (opening pores could be a bad idea).


July 25, 2007

New poll data is out with our current approval ratings for politicians. I’ll bet you can’t guess who the American people are upset with the most. If you guessed Bush had the lowest approval ratings you’d be wrong.

The current approval ratings are…

Bush: 30%
Democrat controlled Congress: 14%

Click here if you don’t believe me. This is an article about the legit Zogby poll the stats come from.

Bush’s horrible 30% looks amazing compared to the Democrat controlled Congress with a 14% approval rating.
That’s HALF of Bush’s approval rating.

…And even the old Republican controlled Congress scored higher than that. They had 23% before they were removed. Maybe we should have kept them?

So basically only 1 in 2 people are unhappy with bush, while more than 8 in 10 people are unhappy with Congress.

So…Am I right on this one? Is there a media bias? Didn’t you think Bush was less liked then Congress? The media (CNN, Fox, NBC, etc.) are suppose to be informing you, not misinforming you. Everyone should realize by now that the commercial media supports whichever will draw out the most controversy. …Because controversy = viewers and viewers = advertising money.

Forget about your opinions on Bush or Congress for a minute and just ponder the fact that you’ve been mislead.

I’ve seen a million .NET web service client examples that don’t implement security. Here’s one that does. It’s a simple snippet on digest authentication. It’s really simple, and I wish more people would default to using it.

Using digest authentication means the actual values will not be sent for the username and password. Instead the username and password are encrypted using an algorithm (like MD5) and a hash of the two sent over the wire. Nifty huh?

The first thing you need to do is modify your WSE3 policy configuration file. The policy for your web service (in this example mine is MyWebServicePolicy) needs two entries; 1) usernameOverTransportSecurity and 2) requireActionHeader. Your file should look something like this….

type=Microsoft.Web.Services3.Design.UsernameOverTransportAssertion, Microsoft.Web.Services3, Version=, Culture=neutral, PublicKeyToken=31bf3856ad364e35 />
type=Microsoft.Web.Services3.Design.RequireActionHeaderAssertion, Microsoft.Web.Services3, Version=, Culture=neutral, PublicKeyToken=31bf3856ad364e35 />
usernameOverTransportSecurity />
requireActionHeader />

Next you need to add three lines of code to digest and send the username & password…

//Creates the username/password digest token
UsernameToken userToken = new
UsernameToken(“exampleUserName”, “examplePassword”, PasswordOption.SendHashed);

//Creates web service credentials using the token
CredentialSet credentials = new Microsoft.Web.Services3.Security.CredentialSet(userToken);

//Assigns the username/password to the web services proxy

myWebServiceProxy should be the variable for the stub that .NET’s WSE 3 automatically created for your web service. …I think you need to use WSE3 (Web Service Enhancements v3) for this to work properly.

I think digest authentication is the beez-knees, and stupid easy…I’m left wondering why I didn’t always use this technology? …Oh, and while researching this code I ran into a really cool snibit. Some guy (Peter Bromberg) created a nice little example on how to implement digest authetnication in ASP.NET. Click here for Pete’s article…


LOL, wow. This sucks for Stevie. I wish Apple had gone the Nano route with the iPhone. I liked the simple interface. My favorite thing about the Nano is that I didn’t have to look at the screen.

That’s something I like about TV. You’re unaware of the interface. We look at the screen when we use TV, but we rarely look at the remote itself. Its simple enough we memorize the interface quickly and then use it without thinking.

Traditional cell phones like the Nokia 8260 (picture left) were super easy to use. And they were small with long lasting batteries.

Back then phones had to be simple because users weren’t technical. I’m convinced cell phones have become MORE difficult to use as phones over time. And I don’t know why somebody doesn’t just go back to the 8260 type model. Functionality first!


…Since publishing this article I have learned Apple actually sold 270,000. Only 146,000 could be activated. The activation issue was Cingular’s fault. Still, these are amazingly low sales numbers. They’d expected 500K to 1M.

Why would you ever want to bypass certification verification? …Well, maybe if you’re testing a web service that’s under development and you don’t own a valid certificate yet like me.

It took a while to figure this out. I was convinced it would be something simple, and it was…

The code below implements a custom certificate validation method that does nothing. You could customize the TrustAllCertificatesCallback method to execute your own meaningful validation, my example simply validates every request. Notice my nifty TODO comment? I wrote this as a temporary fix and I was a little paranoid I’d forget to take this line out.

I’ve only tested this with WSE3 (Microsoft Web Service Enhancements v3) on the client side talking to a Java implementation of Axis2 on the server side. …But this should work with WSE3/.Net on whatever.

    static class Program
        /// <summary>
        /// The main entry point for the application.
        /// </summary>

        static void Main()
            ServicePointManager.ServerCertificateValidationCallback =
            Application.Run(new Form1());

        public static bool TrustAllCertificatesCallback(
            object sender, X509Certificate cert,
            X509Chain chain, SslPolicyErrors errors)
            return true;