This is missing some natural categories of things.
- Create a pet project. A subset of which is to create an open source pet project. As opposed to contributing to an existing one.
- Get a job. It does so much to improve programming ability.
- Also do exercises in books. It's one thing to do Project Euler problems, and it's a different kind of thing to do TaPL exercises or presumably CTM exercises, or problems in some signal processing book.
- Get a real ergonomic keyboard, now! And use it. Unless you get sufficient wrist exercise from some other activity, you should do this.
- Create a pet project. A subset of which is to create an open source pet project. As opposed to contributing to an existing one.
- Get a job. It does so much to improve programming ability.
- Also do exercises in books. It's one thing to do Project Euler problems, and it's a different kind of thing to do TaPL exercises or presumably CTM exercises, or problems in some signal processing book.
- Get a real ergonomic keyboard, now! And use it. Unless you get sufficient wrist exercise from some other activity, you should do this.