Thanks for visiting my blog - I have now moved to a new location at Nature Networks. Url: - Please come visit my blog there.

Friday, June 15, 2007

Thought for the day

A while back, someone mentioned to me that human beings left Africa roughly 40,000 years or so, marking that start of Homo sapiens as a species. That works out to about 2000 generations. In evolutionary terms, that's pretty much nothing. If you apply the same thing to E. coli, the scientists workhorse bacteria, which doubles every 20 minutes or so, you'd get about 27 days of recorded history. That is to say, if E. coli suddenly developed intelligence today, by sometime in mid July, they'd have 2000 generations. Recorded history is roughly a quarter of that, meaning that some time next week, they'd have kept records over as many generations as we have.

If it takes bacteria a few years just to develop resistance to an antibiotic (tens of thousands of generations), how long will it take humans to change in any noticeable way?


Friday, June 1, 2007

Linux on Git

Yep.. two back to back blogs. That never happens around here, but I had to do it.

I stayed up late last night watching Linus Torvald's recorded talk at Google, on the subject of Git. I was swayed into thinking Git is the best thing ever... till I got into work again this morning and realized what 300 programmers working on different projects would do with a Git style Revision Control System. Chaos!

Anyhow, I'd love to play with Git, at some point, but I think I have to be realistic. Unlike Linus, I realize that not every environment works well with a decentralized/distributed model.

Here's the link: YouTube video 4XpnKHJAok8

A change in fortune

In contrast to my last post, this week has been pretty good. I finally feel like I'm on top of learning Java and the Ensembl API that I'm working with. Learning a new language isn't usually hard, but learning it and trying to master an obscure, unsupported and now out-of-date API is somewhat of a challenge.

Anyhow, it was an educational process, not just because I had to learn it, but because I learned a little more about how I learn. In the past few months, I used always taking the easiest possible way to accomplish whatever routine tasks I needed to get done, which was always frustrating. I didn't know either component well enough, and I wasn't learning - I was just working on a "don't break anything basis".

This time, I started by reading the documentation, and looking for new ways to do it all, and came up with a pretty efficient and relatively elegant way of doing it. I learned more in trying things that didn't work, than I have in a while - and I accomplished my goal. Fast, efficient and correct code. (Yes, I did do the verification.... painstaking comparisons of DNA strands and mutations.)

So, while I can't get the work back that I did in the past 4 months, I at least now have a solid foundation to work from - I'm ready to start tackling some datasets!