Well, I will argue with the examples you have provided.
As to maintaining a blog, take a look at Joel on Software's "Advice for Computer Science College Students"[1], section "Learn how to write before graduating."
Learning Prolog, Erlang, Haskell, VHDL or some other out-of-the-box language is an eye-opening experience, and even more so is writing an interpreter or a compiler for such a language. It is a way to discover brain functions that you were not even aware are there in your mind. I speak this from my own memories about fiddling with a Hindley-Milner inference implementation.
Authoring a framework is not on my 'done' list, and it is not on the 'done' list of any of my friends, so I have no idea how influential is such an exercise. However, I will give the author of the matrix the benefit of the doubt - he got the rest well.
As to maintaining a blog, take a look at Joel on Software's "Advice for Computer Science College Students"[1], section "Learn how to write before graduating."
Learning Prolog, Erlang, Haskell, VHDL or some other out-of-the-box language is an eye-opening experience, and even more so is writing an interpreter or a compiler for such a language. It is a way to discover brain functions that you were not even aware are there in your mind. I speak this from my own memories about fiddling with a Hindley-Milner inference implementation.
Authoring a framework is not on my 'done' list, and it is not on the 'done' list of any of my friends, so I have no idea how influential is such an exercise. However, I will give the author of the matrix the benefit of the doubt - he got the rest well.
[1] http://www.joelonsoftware.com/articles/CollegeAdvice.html