Why is my husband a moron?

He wants to go spend a gazillion dollars RIGHT NOW but other than that he just absolutely does not understand how much time it takes to do stuff. He refuses to listen to me. Rather than waiting until tomorrow to go out he insists he has to go tonight but I need him at home no later than 6:00 because I want to actually make dinner.
He gets off work at 4:30, he has to walk to his car parked in the garage and drive across town to get to the mall area. He usually doesnt even get to his car until 4:40 it will be at least 5:00 by the time he gets there. He then thinks he has time to go to
Best Buy and buy a 2 GB memory card and pick out a new iPod case (doesnt know what kind he wants) , go to the hobby store to buy 6-7 items (that he will have to actually take time to find in the store, look at and figure out what exactly he needs), then he wants to drive over to the shoe store (with traffic will take a minimum of 8-10 minutes after you wait for all the lights) and buy some new shoes and then he has to drive 20-25 minutes home assuming the traffic is not too terrible. There is NO WAY he can do all that and be home by 6:00. It is just not possible! Yet he thinks I am just wrong and that he has plenty of time.
He always does this and you would think he would learn because it ALWAYS takes him longer than he thinks. There is no way he will be home until at least 6:30 and that will be with him rushing a lot and probably in the process buying the wrong stuff and/or costing us far more than it really should.
I dont know why but this is really ticking me off right now. He has zero patience and just cannot wait for anything!