There's a post about AAVE up on Tumblrweed. I've posted about African-American Vernacular English several times here. It's not my first dialect, but I know it pretty well. If I don't watch it, I fall into speaking it if everybody around me is speaking it. I've been called on that a couple of times. "Listen to that accent you got going." It must've seemed odd that I code-switched between dialects. I'm pretty careful about it, though. There are a lot of politics around American English dialects.
People living in the U.S. who don't have American Standard English as a first dialect are expected to learn to code-switch into it. It's of economic benefit to be able to do so. Code-switching isn't usually taught directly. The way it's taught is to say that speaking American Standard English is the correct way to speak, and that other dialects are wrong. The way it's taught is to teach in American Standard English and say that those who don't know it or don't know it well are linguistically behind. It's often institutionalized racism, but that part isn't necessarily explained to the students.