Here's and article you may find helpful: Toddler Testing http://www.becomingtheparent.com/all/subsection13.html
and another that I really like: Looking Past the Behavior
http://www.naturalchild.com/jan_hunt/looking_past.html
Your ds seems to "push" you more than his father because he's more comfortable with you. He's probably with you more than with your dp/dh. He can be his "baby self" with you.
As far as discipline, what I always did when ds did something that I didn't want him to do was this:
(this example is something that happened when ds was younger than 2yo):
1. give information, even if you think dc should know, they often don't- "Don't hit me with the book. I don't like to be hit."
2. honor the impulse- try to figure out WHY they are doing it, what the reason behind it is. Are they trying to get attention (which is a valid need, imo)? Are they trying to communicate another need? Are they bored? Are they exploring?
In this case, I finally figured out that the impulse was that he was trying to get me to read a book to him.
3. Redirect in a way that honors the impulse- help dc find an alternative way to express the original impulse. The *impulse* is a legitimate one. It's just the way they are trying to fulfill it that isn't ok. So help them find a way to fulfill it that IS ok.
In this case, I finally figure out to say this: "If you want me to read to you, put the book in my hand." That was it- he NEVER hit me with a book again, not even once, and he's 4yo now.
It took a lot of work to figure out that I had to be that specific. I had tried saying "If you want me to read, hand me the book" but evidently it wasn't specific enough for him to really understand it.
Oh, and as far as advice on time outs: don't do them.
here's another article: The Case Against Time-out http://www.naturalchild.com/guest/peter_haiman.html