It is coming from an American, just to let you know, because I hate when other people especially Canadians try to judge America.
I think that guns should not be carried around on everyday activities. But I think Americans should have access to guns in case of emergency (something like America is invaded or another civil war) not for petty crimes like the Dark Knight massacre. Do you really want several people shooting in the dark at once??? All the casualties!!! Guns should be kept in some sort of shelter or heavily guarded gun facility (we could build them) in every county and borough in every major city. I think there should be a local squad or military squad with people originally from that city (so they have ties) guarding these gun facilities, so that during a major threat people won't be denied gun access or won't be allowed guns for thing like terrorist attacks. These gun facilities should be either state or city governed/commanded/ owned (if those are the right words). For different threats like (the government is being oppressive), people should have a semiautomatic Uzi on lock down in the safest part of their home. When I say lock down I mean the gun should be in an electronic container for which you have to pass a built in (not online to avoid it getting hacked), randomized psychological test in order to unlock. I know we have that type of technology. For extreme need-it-now situations (like the military is invading your home under oppressive government) the glass on the container should be able to break with strong (adrenaline boosted) force. When the glass has been broken, then moment you touch the gun you should receive a painful electric shock (because if you really need it you won't feel it).
People can use things like knifes, machetes, tomahawks, and other blade based weapons for things like street fights, road rage, burglary, robbery, and self defense. It'd be a lot safer, you can actually run or stand a chance against it.
The word "regulated" is in the second amendment, and that's how it should be.

