We might say that someone who is exceptionally chatty can "talk a blue streak." What is the origin and meaning of this phrase? Is it generally insulting, or a nice way of saying someone is a chatterbox?
According to The Word Detective in all likelihood, the term did arise by analogy to the speed and force of a bolt of lightning, especially in “talk a blue streak,” meaning to speak rapidly and excitedly. The “blue” in “curse a blue streak” probably also invokes “blue” in the sense of “obscene.” So it it is not really insulting when you say that somebody talks a blue streak, it is just an informal way of saying that he/she talks very fast and endlessly and very often aimlessly.
To curse/swear a blue streak means to speak rapidly, too, but using swear/curse words. Cursing/swearing a blue streak is usually an outburst-- a retort or angry reaction, and short-lived. However, it can also mean using a lot of swear words repeatedly over a period of time: My teenager has been cursing a blue streak during the past month means that he/she has been using a lot of swear words, and often.