On being in two places at once

Today I have my brain split.

P., with whom I am to work on the semiconductors project, starts work today. This week, we are supposed to learn how to use the HPLC, whatever gas chromatography equipment is reserved for our use, get our lab area set up in general (we have to keep completely separate glassware, for instance), and set up our lamps for running experiments with the photocatalyst.

But I’m not done with the Antartica project yet. Jenn, and I may very well be running a decidedly large experiment this week, doing a photobleaching experiment in triplicate, then basically running three sets of analysis on the samples we draw out at various timepoints. The photobleaching takes 48 hours solid, and running the 90 (for some reason Dr. M said 180, but I can’t determine a reason to double my number, unless we do “darks”, or un-photobleached samples, too) samples on the UV/Vis, which is another week of work, because the machine is slow. And the lamp setup to be able to run the photobleaching experiment will take a day or so, as there seem to have been some problems with steady output the last time an experiment was run. Meaning I get to learn some actinometry.

The results from running the samples through the UV/Vis will have to be run through a sexy stats package (I haven’t gotten to play with R yet, but that will most likely be what I use) and fit to the empirical model that we’re having trouble with. Model fit and residuals will be analyzed. Insert the learning curve for me to learn the language of R.

The whole point is to determine if we can shorten the entire process of gathering samples and analyzing them. It looks like the best way to get a reliable estimation of error on one of the values we calculate is to take samples and run the photolysis experiment in triplicate. See above about the week it will take to analyze 90 samples; this isn’t practical in situ. So the idea is, what if we just take eight wavelengths in the spectrum we analyze instead of the entire range from 500 nm to 200 nm, since our model bias and machine drift are damned constant and we’re getting correlation coefficients of 0.998 when curve-fitting? If we can get comparable results, then running the experiment in triplicate becomes much more manageable.

Of course, I think this still leaves us with the dilemma of estimating the model error and machine drift. The machine seems to be “drifting” in an oscillating function. Now, on top of that, and in comparable magnitudes, we have an oscillating function that is our model bias. (I say “oscillating fuction”, but I mean that our residual plots are one big sine curve [the model bias] with jumps and incontinuities from the machine drift.) Now, the machine drift makes me think of jumping double-dutch: since the lamp and detector of the UV/Vis are always on, the machine is always drifting in this oscillating manner. When we put in a sample and run it, we’re essentially “jumping in” at some unknown phase shift of the drift function, just like jumping double-dutch. We had some ideas for experiments to run to erradicate this (so we’d be left with only the model bias, which I think may be able to be stamped out with methods similar to those involved in time series models, leaving us with measurable random error) that we tossed at the awesomely cool Regressions Guy in an e-mail Friday afternoon. We could very easily be completely wrong, since I have no experience with regressions and the time series chapter in the textbook certainly didn’t cover model bias evaluation as an appropriate application.

Once we determine our method, those will need to be implemented in the program I’m sitting on, which could mean anything from me needing to change a good deal of the input algorithms (taking in the triplicate values and processing them accordingly) to needing to change the model to one with a second variable (two-variable optimization algorithms, anyone?). Insert another week of me writing algorithms and implementing options and testing consistency with the stats program we use. And I mean, most likely, a 40-hour week.

But the semiconductors project isn’t just us–there’s another school (hell if I remember what it is) involved in this initial setup to perform the photocatalyst experiments, meaning we need to get on the ball. Now, given how we (Dr. M, P., and I) will have to make sure some of these machines can be used at all, and for our purposes in particular, that we may be bumping elbows with at least one other research team, that I, at least, have no practical experience on these machines (I think P. has taken the pre-requisite courses), and that Dr. M has been known to drive me absolutely batty with her very loose style of organization and tendency to just disappear for hours, this week of setup for the photocatalyst side of things could be harrowing.

Then there’s the fact that, as of last Wednesday, I think, my grant money hadn’t come in yet, and the next pay period should start drawing from those resources.

I feel sorry for Dr. M, who’s managing two teams on completely different projects; the workload on Jenn and my project should have dropped to the point where she’d need only weekly updates on our progress, but it seems to have grown exponentially, with Jenn needing to re-run a solubility enhancement experiment, then the above nastiness with the photolysis experiments. I would feel sorry for myself, who’s struggling just to learn enough to be of assistance to anyone and who just had the knowledge requirements triple, but I knew what I was signing up for.

I suspect something will give, or else the teams will have to start working long hours. This wouldn’t be so bad for me, since I don’t mind being at school (away from the “comfort” of home), I’d have Internet, and I could get more work done (it’s hell to be held up by a simple need to look up something, but not have the ability to do so), but there could be increased grumpiness and tension in the workplace. But given that another team under another prof works from 05:30 to 17:00 or 18:00 six or seven days a week, and that we all signed on for salaried positions knowing we’d need to work “until it got done”, I couldn’t complain.

But I think something will give first, because I don’t think Dr. M wants to work hours like that, and she would have to put in some extra time just to keep up in managing us. Of course, things might turn out not to be so bad, either (Dr. M isn’t in yet for the day): Jenn and I may not need to run the long experiment, or the Regressions Guy could have had a big “ah-HA” over the weekend, or the machinery P. and I will use could be in a wondrous state and ready to go once we knock the cobwebs off.

Heh. Right.

Please excuse my bumminess

Yeah, so, I don’t have a car. And I’m living off-campus. This, of course, presents problems as soon as my schedule deviates from Jenn’s, and there are few things more annoying than a mooch.

First there’s the everyday mooching a ride off Jenn to get to work. This isn’t so bad in terms of convenience since we live together, but we aren’t exactly splitting wear-and-tear on cars between mine and hers. The best I can do is give her gas money and follow her schedule as much as I can. Bumminess #1.

And then, Wednesday was social night for the girls at work, but I had a lot of work to do, so I wanted to go home and work, no workout, no fun. Just work until shit gets done (which happened to be midnight). Which means I needed to ask Luke for a ride, since, at the time, I didn’t know that the “highway” that is the main route home was walkable. This, of course, brings up a slew of issues I have with asking Luke for anything other than packages of peanut butter crackers or where to find page three’s ad for this week. But I asked anyway, and received a ride home. Do I give gas money for a five-minute ride and the inconvience of an extra passenger? I’m inclined to, but that may be some of my father’s “money solves almost anything” attitude showing here, and a strong desire to avoid being indebted to certain types of people. Bumminess #2.

Last night was Bad Movie Night at Bob’s. He asked me around 16:00 if I wanted to go, and I said, essentially, “Mos def”. [Editor’s note: Because the original sentiment did not just end after “Mos def”, there is no period inside the quotation marks, even though the containing sentence ends. Just a pickiness issue with me.] Shindig started at 18:30. I know Jenn and I don’t usually get home until 19:00 because she likes to workout everyday, so I told Bob I’d be a little late. Come 06:00, however, and Jenn wasn’t back from her walk, and there’s still showering and transit. Nikolai, however, was there, so I showered and basically hi-jacked his car to drop some stuff off at home and get my ass to Bob’s by 19:00. Not such a big deal, since I can always use Nikolai’s car, but his radiator is cracked, he’s driving back to Alabama this weekend, and I have a heavy foot. And again, do I give gas money for a 10-minute ride? I’m inclined to fill up his tank before he heads out for kindness reasons anyway, but there’s some sort of obligation here, too. Bumminess #3.

Worse yet, after the shindig, Bob took me home. Now, I know he knew I’d need a ride when he invited me, but that doesn’t change the fact that it was completely fucking mooch-y of me to need a ride home; I shouldn’t have gone in the first place if I couldn’t arrange transportation for myself. Which means no social (or Thorn, for that matter, I suppose) events that Jenn isn’t doing for the duration of the summer, basically. Bumminess #4 and resolution.

I also found out last night that Jenn is going to Ohio State for a week sometime this summer. This leaves me off-campus with no transporation to and from work, much less in the case of an emergency. I learned yesterday that the main road leading to school is, in fact, walkable, if harrowing because of the high-speed traffic, which means I don’t need to get automobile transportation for work. Bumminess #5 averted.

For some reason, I simply abhor being a bother to people. There’s a line between being assertive or even a little bitchy and just plain being a bother, and it’s one I don’t like to cross.

For instance, our little research team is having some trouble with the mathematical model we’re using, so we wanted to poke a little at the Regressions Guy for help. Dr. M asked for a half-hour session with him and proceeds to take his entire afternoon. Then she’s got us in his office every day he’s in the office, bugging him with plots of residuals, trying to isolate this error. This man is on a nine-month salary–he’s not being paid to work during the summer. He also doesn’t like coming in to the office; he wants to be home doing whatever it is Regression Guys do at home. And while our problem is a challenge he recognizes could be fun to work on, he’s expressed hesitancy on spending a lot of time on it, because it’s not his fucking job. Dr. M is doing her, “But could you just take a [quick] look at this…” routine, or just sending us down to his office, uncaring, and basically quietly steamrolling the guy. Now, I fully understand that he needs to put his foot down if this is a serious matter for him, but Dr. M also needs to learn to read a clue (or ten), and back off where she’s not wanted. I feel like grovelling every time I go into his office, and he probably thinks I’m weird because I thank him so much for what help he’s provided–we wouldn’t even have known the error was a model error if not for him. And apparently I’m the odd one, because Jenn didn’t seem to care either when I mentioned it to her, quoting her SO as saying that he probably gets off on it since he’s a mathematician. Bumminess #6 and much frustration with the boss.

A documentation system? A goal for the next couple of days.

Since active coding (other than basic fix-er-ups) is on hiatus while Dr. M and our Regressions Guy (it’s funny when you go to a school so small that there’s a single person in the Math Dept. that is an expert on regression analysis) attempt to isolate a method to estimate the error with the model we’re using, I’m hitting the documentation hella hard until a solution is reached. I want it to be as near iron-clad as I can get it.

I’m at something of an impasse, however–how do people write documentation systems? Obviously, I can create a user’s guide and a developer’s guide in HTML (or maybe using a system like TeXinfo would be in my best interests, for the versatility of formats) and include them with the JAR that will be my program. There will be Javadoc files as a starter for other developers (or just me). But how in tarnation to I make a live, “online” (accessible from within the program) help system? Do I just want to make a webpage that displays when the user clicks “help”, and add in “context sensitive” help through links to direct sections? Are there systems for this, something I can pull into my Java app and modify to work for my purposes? I have no idea how this type of thing is done.

So today’s goal (among other things) will be to determine how such systems are created without relying on “native” systems, like the built-in help system Windows provides. I can’t assume such things will exist where this program will be used; who knows what systems they’ll be running on the base Dr. M and Jenn will be inhabiting in Antartica this winter? And I am certainly keeping my ass in Linux until newspaper work requires me to do otherwise, which is further incentive.

Reclaiming my niche

I remembered yesterday why I want to be a computer scientist.

It seems bad to me that I, known for (among other things) my intense focus and determination, lost my way for two years. I didn’t do a bit of real programming, no design, no new languages, nothing other than idly tweaking others’ programs to make them work on my system or on my website.

After the hair-raising C++ project of junior year, I wanted nothing to do with conventional programming. Never would I sit and peck at a keyboard eight hours a day hacking on some big system, trying to implement new features or fix old ones.

Who was I kidding?

Having spent the past two weeks utterly immersed in Java and object-oriented programming, working, literally, forty or more hours a week just on this application, I can say I’ve refocused on my old goal.

This is what I love. I love thinking in for and while loops like others think in Spanish or French or music. I love tweaking search algorithms or data structures to shave that extra second or two off of program execution time. I love that big “Fucking A!” when one little problem that’s been stumping me for more than a handful of hours becomes suddenly illuminated and crystal clear for me to unravel.

I still don’t know what I want for a career. Maybe I’ll move to India to be a programmer. I might also take a serious interest in design and become a software architect (or whatever they’re calling it these days) like the Old Man. But I do know that it has been unbelievably easy for me to spend ten or eleven or twelve hours a day working on this project, learning the language as I go, tweaking and improving on the original algorithms, and learning how to best implement the design in a manner that will make the program easily maintainable.

I have a Java app, with a full graphical user interface, that runs no slower than its command-line C++ equivalent that I started with. It is well-designed (the Old Man aided very heavily in the design) and should be fairly easy for a non-chemist to maintain. It is easily expandable to include other features, including other types of analyses to run or different statistics to report.

A professional could have done it better (there are undoubtedly flaws in my documentation style/level and in my impelementation of the design), and certainly done it faster, but it has been an unbelievable learning experience for me.

I feel like I’m back in the hot seat, not only thinking of improvements and additions to this current program, but thinking of other things I want to write and other problems I want to solve for myself using the tools at my disposal.

Peace and prosperity and a bit of fun

Yeah, so, I’m at work on a Saturday. Which is quite alright, because this means I have Internet, and can catch up on my site/news reading. Oh, and maybe publish a book review or two, since I finished The Once and Future King a week ago and the first Harry Potter book last night. I’m also a significant chunk into DeLillo’s Underworld and the second Harry Potter book. Looks like this is going to be a moderately decent summer in terms of book reading.

Dr. M returned on Thursday and gave us real work to do. I’ve been analyzing the organic carbon and nitrogen content of several samples Jenn used in a solubility enhancement study to help her wrap things up. Jenn’s been running samples on the UV/VIS Spectrophotometer to verify the accuracy of the machine Dr. M used in Alaska. Data shall be switched, and numbers crunched by opposite parties. I’ve got a couple more things to do for this Antartica project (what I’m writing the program for), then I get to start on the semiconductors project. I’m excited, but I have so much to learn.

Since I haven’t been working in the main lab these past few days, things have calmed down a lot for me. I basically just sit in a room in the graduate studies/research building and run the samples through the TOC while I crunch the numbers from the previous samples and get the files ready to send over to Jenn. So my days have been nice and quiet and fairly non-stressful.

During my run on Thursday, I had a bit of a breakthrough. Now, for all my walking and running this past year, I still can’t run fast or far at all. I’ve been stagnant in running ability since February or March, in fact, but I’ve been chugging along anyway, occasionally pushing, but not trying to hurt myself. I figured that at some point, I’d break past the barrier, even if it took months. And Thursday, I did. I’m still not running fast or far, but it’s further than I’ve ever run in my life in a single stint. I just need to be able to reproduce that stint the next time I run, and keep on that until I break through again.

But that may be a minute, since I woke up this morning with a wonderfully painful and liquid cough, right out of my chest. Which means no running until that moves elsewhere. Why couldn’t I have just gotten a head-cold?

For a bit of a break from the monotony of work, I went out with Bob and some of the guys he works with on Wednesday night. We saw Spiderman 2, which I thoroughly enjoyed. It’s funny, but after hearing Bob geek about directing techniques and other filmish things, I can’t help but notice them when I see movies now.

Then we all went to Mogger’s, a place Dr. McKnuckleberry swears by as being just wonderful. I thought it was just a dirty little bar with shitty service, myself. They weren’t checking ID’s, either, because ye olde sophomore next to me got a big ass glass of Guinness with no problem. I had a water while the guys worked their way through a couple (or more) beers each. Bob got this raspberry something-or-other beer that he liked a lot, and he suggested I taste it, since he said it tasted a lot like raspberries. Ew. Raspberries my ass. It tasted just like alcohol. Beer taste aside, it was that same taste that’s in wine coolers and wine and fermented pineapples (don’t ask) that makes alcoholic beverages untasty. Maybe I’m wrong, but the one element they all have in common is alcohol.

But it was hella fun hanging with those guys. Once I got settled in and started remembering names, I relaxed and got fun and giggly. They all relaxed as well, which was probably aided at least somewhat by the beer. It’s nice to hang with some folks who don’t just sit and stare at you like you belong in a zoo when you’re laughing so hard you can’t stop… because they’re laughing with you. Although I must say, Bob’s embarrassed and murmured rendition of Led Zeppelin’s “Hey Hey What Can I Do” to Glass Halo drummer David Evans’s acoustic guitar deserved more than a passing giggle. He even imitated Robert Plant’s shrieking singing in parts.

That was my social fun for the week. Now I’m going to park my ass and do work all weekend, finishing this program and learning how to get error on an exponential decay coefficient. I wonder if math will always be my weak link, because it certainly has been in working with Dr. M.