Before digging in too deep, I think it’s necessary also to introduce my toolbox. As I mentioned in the first post, I’m still mere beginner in many sense but I have quite good theoretical knowledge about stuff. I also know few tricks with different tools but my weakness is definitely connecting the dots between theoretical skills and language skills and to apply that combination to reality.
I’m huge Python fan. I started programming with Perl before coming to university but I haven’t written Perl in long time apart from few scripts. Python seems to be de facto programming language in data science and machine learning with great community and lots of books and tutorials available. Biggest reason for me to choose Python was that it’s fast. Not fast as in fast to run but fast to write. I can prototype ideas quickly and get into doing things.
Before I started studying statistics in university, I spent one summer learning R which I found really interesting and just practically fell in love. I ordered R Cookbook from a bookstore but before it arrived, I had learned enough basics to get started and ever since that summer I’ve been programming a lot with R doing visualizations and analysis with it. There is a great community of blogs in R-bloggers which was key factor to my learning and getting interested. I’m also somewhat familiar with SAS but I prefer R whenever I can.
My university teaches Java as the first programming language as well as in most of more advanced studies. I’m not a big fan of Java but I’ve been teaching two basic courses in university that uses Java. I can do some things with Java and I’ve been looking into Android programming but it’s not my biggest strength.
When it comes to databases, I’ve learned my basics through web page development using PHP+MySQL. So my strengths are in SQL world but I’m trying to get into NoSQL world as well but it’s still work in progress. About RDBMS’s I know MySQL, PostgreSQL and SQLite and mostly use SQLite 3 when hacking and prototyping with data.
HTML + PHP + JS + CSS:
I’m emacs and Sublime Text 2 user. I’d like to use vim but the learning curve gets me every time and I’ve just decided to stay with emacs. Since I do most of my stuff remotely on a server, I use emacs way more than Sublime Text even though I have a SFTP plugin for ST2. My working flow has become so that I just ssh to my server, fire up emacs and start coding. With Java stuff, I use Eclipse for it’s great SDK plugins (for Vaadin and Android).