Archive | October, 2012

Real work every day

22 Oct

I am now 12 days into my “Being a better scientist” project. When I started, I made two general resolutions:
1. Do real work every day
2. No work after 8PM

Last week I added a third one:
3. Go to work five days a week (as opposed to working from home)

For me, “real work” means research. My job is to do research. My career is based on research. It’s what I want to do. I want to find out why HIV becomes resistant to drugs and how we can stop HIV from doing that. Only by doing research I can answer that question. But much of my time is spent on non-research tasks. Here are some of the tasks on my to-do list for this week:
1. Write applications for faculty jobs
2. Send emails about a symposium I organize with three others
3. Write the end-of-year report for my HFSP fellowship
4. Answer emails
5. Move my website
6. Attend labmeeting

These non-research tasks are often easier than doing research and they can be finished quicker and thus give the satisfaction of crossing off an item of my to-do list. I also like some of these tasks a lot (although writing an end-of-year report is not one of my favorites). Plus, they are often associated with some pressure from others to get the tasks done. For all of these reasons, I can easily spend an entire day working hard and feeling good about getting stuff done, but without doing any research. I decided that that was not very smart. Hence the resolution: “Do real work every day.”

Today I had lot’s of non-research things to do, so I was tempted to let my self off the hook regarding the “Real work every day” resolution. But I managed to squeeze in 45 minutes of coding, and started simulations that will run through the night. I love it when my computer is doing research while I sleep! I will definitely stick with this resolution.

Being a better programmer: learning Python with Udacity.

16 Oct

When I started my “Being a better scientist” project, after reading Gretchen Rubin’s Happiness project, I decided to start with a one month focus on “Being a better programmer”. I made three resolutions.

1. Learn python by finishing Udacity‘s python course.
2. Look it up, write it down.
3. Annotate, annotate, annotate.

Like many biologists, I am a self-taught programmer. I use C++ and R, but for a long time I have wanted to learn a new language. One that is easier than C++ and faster & more suited to my needs than R. I love using R, so I think the new language will not replace R, but I think it could be useful for some of my projects. Plus, I think that by doing a programming course, I will learn stuff that could be useful for working in any language.

A few months ago I already started a python class at the online university Udacity. Even though I enjoyed the course a lot, I got stuck after 3 units (out of 7). This month, I will finish this course. Today, I just finished unit 4. In the next three weeks I will do units 5, 6 and 7.

What I like about the Udacity CS101 course:
1. The course is entirely web based and is VERY interactive. There are tons of little quizzes and programming exercises.
2. In the programming exercises, you can check the answers by executing the code and running some tests, and then have it checked by Udacity. If my code is almost correct, the response may be something like: “Try again, your code didn’t pass the following test …” – which is very useful and motivates me to, indeed, try again.
3. The lecture parts are short (2-7 minutes) which is good. The lectures are also interesting and teach some computer science theory.
4. It is free. I know I should be willing to pay for a useful course, but honestly, I don’t think I would have started it if it wasn’t for free.

What I don’t like about the Udacity CS101 course:
1. Before I started, I had no idea how long it would take to do the course. It is split in 7 units, but I didn’t know if a unit corresponds to an hour of work, a week of work or a semester of work. Turns out it is about 10 hours for me (rough guess).
2. The course lets you build a web crawler and by doing that, you learn all the python you need for the task. Although I think it is good that they focus on a specific task, I am not interested in web crawlers, and I would prefer to build something related to biology. How about some alignment software?
3. The time it takes to execute code (on the Udacity servers) is somewhat long which is slightly annoying.
4. Very few of the Udacity teachers are women. Maybe that’s why the fun examples are about cars and superheroes.

First post

14 Oct

Welcome to my new blog! I will write here about my work as a scientist, and more specifically about my project to become a “better scientist”. “Better” in this phrase has nothing to do with ethics. It simply means better. I want to be better (than I currently am) at programming, writing papers, communicating about my work, collaborating, and all the other things that make up my work as a scientist.

I have two reasons for starting a blog about becoming a “better scientist”. The first reason is that as I try to become better at things, I will make resolutions and if I write them down and publish them for all of you to see, it is much more likely that I will stick to them.

The second reason for this blog is that I hope my writings could be useful for others. Personally, I love reading about how other people work. Did you know, for example, that E.O. Wilson did a lot of his early thinking while on the train, because his wife didn’t want him to fly when they had young kids? I find that a nice bit of information and it makes me want to take a train and see if the environment is inspiring for me as well. This blog will be my modest contribution to the “how I work” literature.