tarigwaemir: (my head hurts)
Haste Street on the Feast of St. Francis Xavier

You know, I wrote some of my first LJ posts while waiting for programs to finish running on a UNIX shell, while working on a bioinformatics project in a biophysics lab way back in high school. Now I can say I've truly come around full circle because here I am, writing LJ posts while waiting for my Perl script to finish running.

What's changed between then and now:

- This time, I actually understand my project.
- I also know more UNIX commands and have managed to teach myself how to program in Perl.
- I presumably know more biology as well.
- I'm not working with protein sequences.
- I actually have people who answer my stupid questions.

What hasn't changed:

- I still get headaches from staring at the computer screen for too long.
- I still don't have much contact with my advisor.
- I'm still doing everything by SSH connections to a remote computer.

I probably should go to sleep because I have to give a presentation tomorrow, but I really want to get this data parsed properly so I can finally get around to generating scatter plots tomorrow.

Lessons I've learned about coding the hard way (i.e. I refused to listen to good advice and had to find out for myself):

- When you repeatedly get errors about uninitialized variables or array references when you clearly did remember to initialize them, it probably isn't a problem with your syntax or programming logic but rather with your input file.
- Along those lines, always check the input files before you run the code.
- As nice as it is to have your program work as a tidy little black box, having it print its status to standard output occasionally can be extremely helpful, especially so you don't have to wait for your big unwieldy code to finish runnning before realizing that it wasn't doing what it was supposed to.
- Avoid the temptation to have everything run in one script because you might find yourself waiting forever each time you rerun it, even though you only really need one subsection of it. After all, that is why we have wrappers and subroutines.

All the code I've written so far is probably extremely bulky and inefficient, but I've stopped caring about aesthetics for the moment. CS majors, you may throw your tomatoes at me now. My programming structure definitely reflects the way I think...I wonder if I'll become a more efficient thinker if I become a better programmer.

And now my script's finished running so off I go.

Yours &c.

Profile

tarigwaemir: (Default)
tarigwaemir

April 2009

S M T W T F S
   123 4
5678910 11
12131415161718
19202122232425
2627282930  

Syndicate

RSS Atom

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags