Static/Dynamic typing is about when type information is aquired (Either at compiletime or at runtime)
Strong/Weak typing is about how strictly types are distinguished (e.g. whether the language tries to do implicit conversion from strings to numbers).
Strong/dynamic: Clojure, Erlang, Python, Ruby, Scheme, Smalltalk
Strong/static: Java, Go, ML
Weak/static: C, Objective-c