antigravity
Though I like what Norvig said in http://norvig.com/21-days.html
"Use your friends [...] Keep it simple. [...] Play. [...] Given these criteria, my recommendations for a first programming language would be Python or Scheme. But your circumstances may vary, and there are other good choices. If your age is a single-digit, you might prefer Alice or Squeak (older learners might also enjoy these). The important thing is that you choose and get started."
If you're not careful, you could get http://en.wikipedia.org/wiki/Publication_bias on a massive new scale...
It would be interesting to try to find scientifically optimal ways of doing study iteration, or approaches to interpreting the complete (experiment_rev, results)-list from another researcher...
...a nice introduction to abstract linear algebra, but not quite abstract or terse enough.
(2) These course notes: http://www.math.mcgill.ca/goren/AlgebraII07-08/AlgebraII.htm
...good, though the duality section is a bit lacking. Riesz Representation Theorem FTW!
Technology-wise, at least consider...
- learning SML or OCaml or Erlang
- learning Python
- going deeper into Python. It's a fantastic way to express oneself. It beautifully offers (generators, coroutines, multithreading, subprocesses, and networking) for piping and distributing your computation, a flexible blend of functional and imperative, and its syntax is the most conducive to elegance, simplicity, and rereadability of anything I've tried.
...then building the core algorithms in C/C++ with SWIG wrappers, the tip of the iceberg with Django, and everything else in pure Python.
A must-read: "Generator Tricks For Systems Programmers"
Life without DTerm... why, it seems absurd!