Arduino's USB connector is exactly standard -- for a USB peripheral, not a USB host (or master as your friend called it). USB is designed with different connectors like this to make it obvious which 'end' of the cable a USB devices are meant for. The host connector (flat rectangle) is called a "type A" connector, while the peripheral connector (square with one side curved) is called a "type B" connector.
The current Arduino board cannot act as a USB host. Being a USB host requires a fairly substantial amount of computing power to run the host side of the USB protocol. USB peripherals need much less power to communicate with the host. A protocol that requires one side to be more powerful than the other is sometimes called an "asymmetric" protocol.
So you're out of luck if you want Arduino to talk to other USB peripherals unaided. You can get tiny embedded Linux boxes for <$100 that have USB host ports and can communicate with USB peripherals. If you're interested, I can give some pointers.