I currently enjoy using vim and ruby to solve problems. In the past, I used C++ template metaprogramming and inline assembly to generate instruction sequences to test microprocessors.